郁闷的程序

vc上只执行到第四个for循环。poj上报ce。。。。

#include<stdio.h>
int main()
{
int flag,tot,t=1,a1,a2,a3,a4,a5,a6,t1,t2,t3,t4,t5,t6,sum;
while(scanf("%d%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5,&a6)!=EOF)
{
   tot=a1+2*a2+3*a3+4*a4+5*a5+6*a6;
   if(!tot)
    break;
   if(tot%2==1)
   {
    printf("Collection #%d:/nCan't be divided./n/n",t++);
    continue;
   }
   else if(tot%2==0)
   {
    flag=0;
    tot/=2;
    for(t6=a6;t6>=0;t6--)
    {
     sum=6*t6;
     if(sum==tot)
     {
      flag=1;
      goto end;
     }
     else if(sum>tot)
      continue;

     else if(sum<tot)

      for(t5=a5;t5>=0;t5--)
      {
       sum+=5*t5;
       if(sum==tot)
       {
        flag=1;
        goto end;
       }
       else if(sum>tot)
       {
        sum-=5*t5;
        continue;
       }
       else if(sum<tot)

        for(t4=a4;t4>=0;t4--)
        {
         sum+=4*t4;
         if(sum==tot)
         {
          flag=1;
          goto end;
         }
         else if(sum>tot)
         {
          sum-=4*t4;
          continue;
         }
         else if(sum<tot)

          for(t3=a3;t3>=0;t3--)
          {
           sum+=3*t3;
           if(sum==tot)
           {
            flag=1;
            goto end;
           }
           else if(sum>tot)
           {
            sum-=3*t3;
            continue;
           }
           else if(sum<tot)

            for(t2=t2;t2>=0;t2--)
            {
             sum+=2*t2;
             if(sum==tot)
             {
              flag=1;
              goto end;
             }
             else if(sum>tot)
             {
              sum-=2*t2;
              continue;
             }
             else if(sum<tot)

              for(t1=t1;t1>=0;t1--)
              {
               sum+=t1;
               if(sum==tot)
               {
                flag=1;
                goto end;
               }
               else if(sum>tot)
               {
                sum-=t1;
                continue;
               }
              }
            }
          }
        }
      }
    }
   }

end:
   if(flag==1)
    printf("Collection #%d:/nCan be divided./n/n",t++);
   else if(flag==0)
    printf("Collection #%d:/nCan't be divided./n/n",t++);
}

return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值