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 |
贴代码 跟测试数据~测试数据来自其他人> Input: > 0 0 4 0 0 1 > 7 5 1 0 0 0 > 36 9 4 1 1 1 > 0 9 4 1 1 0 > 0 0 4 0 0 0 > 36 0 0 0 0 0 > 0 9 0 0 0 0 > 79 96 94 30 18 14 > 53 17 12 98 76 54 > 83 44 47 42 80 3 > 15 26 13 29 42 40 > 41 61 36 90 54 66 > 78 56 445 45 23 65 > 13 4 8 29 45 3 > 15 75 45 98 34 53 > 40 9 0 2 0 0 > 41 9 0 2 0 0 > 44 0 0 0 4 0 > 0 2 3 0 0 0 > 37 7 2 0 1 0 > 12 2 0 1 0 0 > 13 2 0 1 0 0 > 0 0 0 0 0 0 > > Output: > 2 > 1 > 6 > 4 > 1 > 1 > 1 > 86 > 231 > 137 > 115 > 219 > 245 > 79 > 197 > 3 > 4 > 4 > 2 > 3 > 1 > 2 #include<stdio.h> //#define DEBUG int main() { int num[6]={0}; int packets=0; int n1=0; int flag=0;//作为输入0的数目 程序结束标志 int left_2=0;//二号规格的箱子剩余的空位 int left_1=0;//一号箱子所剩下的空位 while(1) { for(n1=0;n1<6;n1++) { scanf("%d",num+n1); if(*(num+n1)==0) { flag++; } } if(flag==6) break; else flag=0; packets=num[5]+num[4]+num[3]; left_2=num[3]*5; left_1=num[4]*11; #ifdef DEBUG printf("packets %d\n",packets); printf("left_1 %d\n",left_1); printf("left_2 %d\n",left_2); printf("**************\n"); #endif if(num[2]%4) { packets+=num[2]/4+1; left_2+=((3-num[2]%4)*2)+1; left_1+=8-num[2]%4; #ifdef DEBUG printf("packets %d\n",packets); printf("left_1 %d\n",left_1); printf("left_2 %d\n",left_2); printf("**************\n"); #endif } else packets+=num[2]/4; if(num[1]>left_2) { if((num[1]-left_2)%9) { packets+=(num[1]-left_2)/9+1; left_1+=(36-((num[1]-left_2)%9)*4); } else packets+=(num[1]-left_2)/9; #ifdef DEBUG printf("packets %d\n",packets); printf("left_1 %d\n",left_1); printf("left_2 %d\n",left_2); printf("**************\n"); #endif } else { left_1+=(left_2-num[1])*4; #ifdef DEBUG printf("packets %d\n",packets); printf("left_1 %d\n",left_1); printf("left_2 %d\n",left_2); printf("**************\n"); #endif } if(num[0]>left_1) { if((num[0]-left_1)%36) { packets+=(num[0]-left_1)/36+1; } else packets+=(num[0]-left_1)/36; } printf("%d\n",packets); packets=0;//在对一次数据处理完成之后 对所用到的数据初始化 但是假如把处 //理过程放在函数那么 就用不着了 只需要返回最后那个output就行~ left_1=0; left_2=0; } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator