서의 공간
[백준] 14888_연산자 끼워넣기 본문
[문제]: 14888번: 연산자 끼워넣기 (acmicpc.net)
#include <iostream>
#include <limits>
using namespace std;
int n;
int minr = numeric_limits<int>::max();
int maxr = numeric_limits<int>::min();
int arr[12];
int oper[4];
void solution(int k, int result)
{
if (k == n - 1) {
if (minr > result) minr = result;
if (maxr < result) maxr = result;
return;
}
if(oper[0] > 0) {
--oper[0];
solution(k + 1, result + arr[k + 1]);
++oper[0];
}
if(oper[1] > 0) {
--oper[1];
solution(k + 1, result - arr[k + 1]);
++oper[1];
}
if(oper[2] > 0){
--oper[2];
solution(k + 1, result * arr[k + 1]);
++oper[2];
}
if (oper[3] > 0) {
--oper[3];
solution(k + 1, result / arr[k + 1]);
++oper[3];
}
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cin >> n;
for (int i = 0; i < n; ++i)
cin >> arr[i];
for (int i = 0; i < 4; ++i)
cin >> oper[i];
solution(0, arr[0]);
cout << maxr << '\n' << minr << '\n';
return 0;
}
'Algorithm > 백준' 카테고리의 다른 글
[백준] 15740_A+B -9 (0) | 2021.02.09 |
---|---|
[백준] 14889_스타트와 링크 (0) | 2021.02.07 |
[백준] 15666_N과 M (12) (0) | 2021.02.06 |
[백준] 15665_N과 M (11) (0) | 2021.02.06 |
[백준] 15664_N과 M (10) (0) | 2021.02.06 |
Comments