#include <stdio.h>
int s[10]={0};
int b[10]={0};
int min=1000000000;
void min_search(int n);
int re(int n, int a, int now, int s_sum, int b_sum, int c);
int main(void)
{
int n, i;
scanf( "%d", &n);
for(i=0; i<n; i++)
{
scanf(" %d %d", &s[i], &b[i]);
}
min_search(n);
printf("%d", min);
return 0;
}
void min_search(int n)
{
int i;
for(i=1; i<=n; i++) //사용할 재료의 개수
{
re(n, i, -1, 1, 0, 0);
}
}
int re(int n, int a, int now, int s_sum, int b_sum, int c) //각 개수만큼 재료 사용 경우의 수 모두 구해 최소값 찾아내기
{
if(a<=c)
{
int sum=s_sum-b_sum;
//printf("s_sum=%d b_sum=%d \n", s_sum, b_sum);
if(sum<0)
sum*=-1;
if(sum<min)
min=sum;
return 0;
}
int i;
for(i=now+1; i<n; i++)
{
re(n, a, i, s_sum*s[i], b_sum+b[i], c+1);
}
return 0;
}
2018.06.02 12:20
정올 - 실전대비 - PERKET(1127)
조회 수 194 추천 수 0 댓글 0