zoukankan      html  css  js  c++  java
  • poj1017 Packets

     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5      int i,t,n;
     6      int a[7],f[7];
     7      while(1)
     8      {
     9         memset(f,0,sizeof(f));
    10          for(n=0,i=1;i<=6;++i){
    11              scanf("%d",&a[i]);
    12              n+=a[i];
    13         }
    14         if(!n) break;
    15          for(n=0,i=6;i>0;--i){
    16             switch(i){
    17                 case 6:{
    18                     n+=a[i];
    19                     break;
    20                 }
    21                 case 5:{
    22                     n+=a[i];
    23                     f[1]+=11*a[i];
    24                     break;
    25                 }
    26                 case 4:{
    27                     n+=a[i];
    28                     f[2]+=5*a[i];
    29                     break;
    30                 }
    31                 case 3:{
    32                     n+=a[i]/4;
    33                     t=a[i]%4;
    34                     if(t){
    35                         n++;
    36                         switch(t){
    37                             case 1:{
    38                                 f[2]+=5;
    39                                 f[1]+=7;
    40                                 break;
    41                             }
    42                             case 2:{
    43                                 f[2]+=3;
    44                                 f[1]+=6;
    45                                 break;
    46                             }
    47                             case 3:{
    48                                 f[2]++;
    49                                 f[1]+=5;
    50                                 break;
    51                             }
    52                         }
    53                     }
    54                     break;
    55                 }    
    56                 case 2:{
    57                     if(a[i]-f[2]>0){
    58                         n+=(a[i]-f[2])/9;
    59                         t=(a[i]-f[2])%9;
    60                         if(t) n++;
    61                         f[1]+=36-4*t;
    62                     }
    63                     else
    64                         f[1]+=(f[2]-a[i])*4;
    65                     break;
    66                 }
    67                 case 1:{
    68                     if(a[i]-f[1]>0){
    69                         n+=(a[i]-f[1])/36;
    70                         if((a[i]-f[1])%36) n++;
    71                     }
    72                     break;
    73                 }
    74             }
    75         }
    76         printf("%d\n",n);
    77     }
    78     return 0;
    79 }

    //纯数组模拟,先装最大的!

  • 相关阅读:
    迭代器&可迭代对象
    递归&栈帧空间
    locals()和globals()
    闭包
    nonlocal和global
    LEGB
    python中编码问题
    关于dict的formkeys方法注意
    深浅拷贝
    通过远程连接批量查看zookeeper服务状态和判断主从节点
  • 原文地址:https://www.cnblogs.com/shihuajie/p/2652063.html
Copyright © 2011-2022 走看看