#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
freopen("in.txt","r",stdin);
int product[7];
while(cin>>product[1]>>product[2]>>product[3]>>product[4]>>product[5]>>product[6])
{
if(product[1] == 0 && product[2] == 0 && product[3] == 0
&& product[4] == 0 && product[5] == 0 && product[6] == 0)
break;
//copy(&product[1],&product[1]+6,ostream_iterator<int>(cout," "));
//cout<<endl;
int parcels = product[6];
int p3,p2,p1,t;
for(int i=5; i>0; --i)
{
if(product[i] <= 0)continue;
switch(i)
{
case 5:
parcels += product[5];
if(product[1] > product[5]*11)
product[1] -= product[5]*11;
else
product[1] = 0;
break;
case 4:
parcels += product[4];
p2 = product[4]*5;
if(product[2] >= p2)
product[2] -= p2;
else
{
p2 -= product[2];
product[2] = 0;
p1 = 4*p2;
if(product[1] > p1)
product[1] -= p1;
else
product[1] = 0;
}
break;
case 3:
if(product[3]%4 == 0)
parcels += (product[3]/4);
else
{
parcels += (product[3]/4 + 1);
t = product[3]%4;
if(t == 1)
{
p2 = 5, p1 = 7;
}
else if(t == 2)
{
p2 = 3,p1 = 6;
}
else// == 3
{
p2 = 1, p1 = 5;
}
if(product[2] >= p2)
{
product[2] -= p2;
p2 = 0;
}
else
{
p2 -= product[2];
product[2] = 0;
}
p1 += p2*4;
if(product[1] > p1)
product[1] -= p1;
else
product[1] = 0;
}
break;
case 2:
if(product[2]%9 == 0)
parcels += (product[2]/9);
else
{
parcels += (product[2]/9 + 1);
p2 = 9 - product[2]%9;
p1 = p2*4;
if(product[1] >= p1)
product[1] -= p1;
else
product[1] = 0;
}
break;
case 1:
if(product[1]%36 == 0)
parcels += (product[1]/36);
else
{
parcels += (product[1]/36 + 1);
product[1] = 0;
}
break;
}
}
cout<<parcels<<endl;
}
}
这一题思想不难就是枚举,考验的是细心程度,我提交了4次,总是WA。都是一些非常小的细节,太粗心了!!加油,呵呵