2014/11/27
昨天夜里想了一晚上,感觉很难,然后写的时候.....突然脑洞一裂:可以暴力啊, 相当于 x, y ,z三个变量,根据已知条件 ,确定 x,y,那么z也一定唯一。
然后就这么坑了发wa4就过了。
#include<stdio.h>
#include<string.h>
#include<climits>
using namespace std;
int Max(int a,int b)
{
return a>b?a:b;
}
int Min(int a,int b)
{
return a<b?a:b;
}
int main()
{
int a1,b1,c1;
int a2,b2,c2;
int h,a,d;
int x,y,count;
while(~scanf("%d%d%d",&a1,&b1,&c1))
{
scanf("%d%d%d",&a2,&b2,&c2);
scanf("%d%d%d",&h,&a,&d);
int minn = INT_MAX;
if(a2==0)
{
printf("0\n");
continue ;
}
for(int i = b1;i <= 200; i++)
{
if(i <= c2)
{
continue ;
}
for(int j = c1;j <= 200; j++)
{
int cnt;
if(a2%(i-c2))
{
cnt = a2/(i-c2)+1;
}
else cnt = a2/(i-c2);
int cost = h * Max(0,cnt * Max(0,b2-j) - a1 + 1) + (i-b1)*a+(j-c1)*d;
if(minn > cost)
{
minn = cost;
count = cnt;
x = i;
y = j;
}
}
}
// printf("%d %d %d\n",count,x,y);
printf("%d\n",minn);
}
return 0;
}