14888번 연산자 끼워넣기
2023. 4. 4. 09:05ㆍBaekJoon
단계별로 풀어보기 - 백트래킹- 7단계
https://www.acmicpc.net/problem/14888
#include <iostream>
using namespace std;
int N;
int operators[4];
int num[11];
int Min=1000000001;
int Max=-1000000001;
void check(int result,int key)
{
if(key==N)
{
if(result>Max)
{
Max=result;
}
if(result<Min)
{
Min=result;
}
return;
}
for(int i=0;i<4;i++)
{
if(operators[i]>0)
{
operators[i]--;
if(i==0)
{
check(result+num[key],key+1);
}
else if(i==1)
{
check(result-num[key],key+1);
}
else if(i==2)
{
check(result*num[key],key+1);
}
else
{
check(result/num[key],key+1);
}
operators[i]++;
}
}
}
int main()
{
cin>>N;
for(int i=0;i<N;i++)
{
cin>>num[i];
}
for(int i=0;i<4;i++)
{
cin>>operators[i];
}
check(num[0],1);
cout<<Max<<"\n";
cout<<Min;
return 0;
}
'BaekJoon' 카테고리의 다른 글
14889번 스타트와 링크 (0) | 2023.04.04 |
---|---|
2580번 스도쿠 (0) | 2023.04.04 |
9663번 N-Queen (0) | 2023.04.04 |
15652번 N과 M (4) (0) | 2023.04.04 |
15651번 N과 M (3) (0) | 2023.04.04 |