| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我交了5次了,很多数据测试都过了,可一直都wrong answer,为什么?下面是我的程序,请高手改改。#include <iostream>
#include<cmath>
using namespace std;
int main()
{
int a[7]={0};
int i;
for(i=1;i<7;i++)
cin>>a[i];
while(a[1]||a[2]||a[3]||a[4]||a[5]||a[6])
{
a[0]=0;
if(a[6])
a[0]=a[6];
if(a[5])
{
a[0]+=a[5];
if(a[1])
a[1]=a[1]-11*a[5];
if(a[1]<0)
a[1]=0;
}
if(a[4])
{
a[0]+=a[4];
if(a[2])
a[2]=a[2]-5*a[4];
if(a[2]<0)
{
if(a[1])
a[1]=a[1]+a[2]*4;
if(a[1]<0)
a[1]=0;
a[2]=0;
}
}
if(a[3])
{
a[0]+=ceil(a[3]/4.0);
switch(a[3]%4)
{
case 1:
if(a[2])
{
a[2]=a[2]-5;
if(a[1])
{
if(a[2]>=0)
a[1]=a[1]-7;
else
a[1]=a[1]+a[2]*4-7;
}
}
if(a[2]<0)
a[2]=0;
if(a[1])
a[1]=a[1]-27;
if(a[1]<0)
a[1]=0;
break;
case 2:
if(a[2])
{
a[2]=a[2]-3;
if(a[1])
{
if(a[2]>=0)
a[1]=a[1]-6;
else
a[1]=a[1]+a[2]*4-6;
}
}
if(a[2]<0)
a[2]=0;
if(a[1])
a[1]=a[1]-18;
if(a[1]<0)
a[1]=0;
break;
case 3:
if(a[2])
{
a[2]=a[2]-1;
if(a[1])
{
if(a[2]>=0)
a[1]=a[1]-1;
else
a[1]=a[1]+a[2]*4-1;
}
}
if(a[2]<0)
a[2]=0;
if(a[1])
a[1]=a[1]-9;
if(a[1]<0)
a[1]=0;
break;
default:
break;
}
}
if(a[2])
{
a[0]+=ceil(a[2]/9.0);
if(a[2]%9)
{
if(a[1])
a[1]=a[1]-(36-a[2]%9*4);
if(a[1]<0)
a[1]=0;
}
}
if(a[1])
{
a[0]+=ceil(a[1]/36.0);
}
cout<<a[0]<<endl;
for(i=1;i<7;i++)
cin>>a[i];
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator