on my way
[GDSC Week3-3] 백준 14888번:: 연산자 끼워넣기 (C++) 본문
* 생각한 아이디어 및 문제 풀이
계산 가능한 모든 경우의 수를 완전 탐색으로 계산하여 풀이하면 된다.
연산자의 우선 순위같은 것이 없고, 그냥 앞에서 뒤로 차례로 모든 연산자마다의 값을 max와 min으로 계산한다.
* 코드
#include<iostream>
#include<algorithm>
using namespace std;
int N;
int number[12];
int operators[4];
int maxNum = INT32_MIN;
int minNum = INT32_MAX;
void Calculator(int plus, int minus, int mul, int div, int count, int sum) {
if (count == N) {
maxNum = max(maxNum, sum);
minNum = min(minNum, sum);
}
if (plus>0){
Calculator(plus-1, minus, mul, div, count+1, sum+number[count]);
}
if (minus>0){
Calculator(plus, minus-1, mul, div, count+1, sum-number[count]);
}
if (mul>0){
Calculator(plus, minus, mul-1, div, count+1, sum*number[count]);
}
if (div>0){
Calculator(plus, minus, mul, div-1, count+1, sum/number[count]);
}
}
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
cin >> N;
for (int i=0; i<N; i ++) {
cin >> number[i];
}
for (int i=0; i<4; i++) {
cin >> operators[i];
}
Calculator(operators[0], operators[1], operators[2], operators[3], 1, number[0]);
cout << maxNum << '\n' << minNum;
}
* 회고
* 문제 링크 : https://www.acmicpc.net/problem/14888
14888번: 연산자 끼워넣기
첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수,
www.acmicpc.net
https://jaimemin.tistory.com/635
백준 14888번 연산자 끼워넣기
문제 링크입니다: https://www.acmicpc.net/problem/14888 모든 경우의 수를 고려해야하기 때문에 DFS(Depth First Search)를 통해 해결하는 문제였습니다. 적절한 조건을 걸고 더하기, 빼기, 곱하기, 나누기를..
jaimemin.tistory.com
https://parkssiss.tistory.com/126
백준 14888번 C++
#include #include using namespace std; const int MAX = 1000000001; int n; int number[12]; int operators[4]; int maxans = -MAX; int minans = MAX; void dfs(int plus, int minus, int mul, int div, int..
parkssiss.tistory.com
'algorithm > C++' 카테고리의 다른 글
[GDSC Week4-1] 백준 9095번:: 1, 2, 3 더하기 (C++) (0) | 2021.10.30 |
---|---|
[GDSC Week3-4] 백준 9663번:: N-Queen (C++) (0) | 2021.10.24 |
[GDSC Week3-2] 백준 1182번:: 부분수열의 합 (C++) (0) | 2021.10.24 |
[GDSC Week3-1] 백준 1489번:: 스타트와 링크 (C++) (0) | 2021.10.24 |
[GDSC Week2-4] 백준 3078번:: 좋은친구 (C++) (0) | 2021.10.11 |