这个题不难,在几次WA后基本就可以发现所有需要注意的地方,但是这道题让我对了测试数据有了新的认识
我一个WA的版本 竟然能通过几乎百分之99的测试数据 这让我怎么不抓狂 还好找到了一个1000组测试数据的版本 在第很多个数据的地方发现了错误 F5一遍 原来是一个{}的嵌套关系搞错了 晕
写得很难看 很不直观
using namespace std;
int main()
{
int pro[7];
while (1)
{
int result = 0;
bool flag = false;
for (int i = 1;i <= 6;i++)
{
cin>>pro[i];
//ifile>>pro[i];
if(pro[i]>0)
flag = true;
}
if(!flag)
break;
int temp = 0;
result += (pro[4]+pro[5]+pro[6]);
pro[1] -= 11*pro[5];
temp = pro[2];
pro[2] -= 5*pro[4];
if (pro[2]<0)
{
pro[1] += 4*pro[2];
pro[2]=0;
}
result += pro[3]/4;
pro[3]%=4;
if(pro[3]>0)
{
switch (pro[3])
{
case 1:
result+=1;
pro[2]-=5;
pro[1]-=7;
if (pro[2]<0)
{
pro[1]+=pro[2]*4;
pro[2]=0;
}
break;
case 2:
result+=1;
pro[2]-=3;
pro[1]-=6;
if (pro[2]<0)
{
pro[1]+=pro[2]*4;
pro[2]=0;
}
break;
case 3:
result+=1;
pro[2]-=1;
pro[1]-=5;
if (pro[2]<0)
{
pro[1]+=pro[2]*4;
pro[2]=0;
}
break;
}
}
if(pro[2]>0)
{
result+=pro[2]/9;
pro[2]%=9;
if(pro[2]>0)
result++;
switch (pro[2])
{
case 1:
pro[1]-=32;
break;
case 2:
pro[1]-=28;
break;
case 3:
pro[1]-=24;
break;
case 4:
pro[1]-=20;
break;
case 5:
pro[1]-=16;
break;
case 6:
pro[1]-=12;
break;
case 7:
pro[1]-=8;
break;
case 8:
pro[1]-=4;
break;
}
}
if (pro[1]>0)
{
result+=pro[1]/36;
pro[1]%=36;
if(pro[1]>0)
result+=1;
}
cout<<result<<endl;
}
}