| ||||||||||
| 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 | |||||||||
求助高手帮忙看一下 论坛上的测试数据都过了 实在没办法了#include <stdio.h>
#include <string.h>
int box[7];
int main(){
memset(box, 0, sizeof(box));
while (scanf("%d%d%d%d%d%d", &box[1], &box[2], &box[3], &box[4], &box[5], &box[6])){
if(box[1] == 0 && box[2] == 0 && box[3] == 0 && box[4] == 0 && box[5] == 0 && box[6] == 0) break;
int cnt = 0;
cnt += box[6];
cnt += box[5];
box[1] -= box[5] * 11;
cnt += box[4];
int box3Num = box[3] % 4 == 0 ? box[3] / 4 : box[3] / 4 + 1;
cnt += box3Num;
int remain3space = box3Num * 4 - box[3]; //剩余可装3 * 3的数量
int remain4space = box[4] * 5; //剩余可装2 * 2的数量
box[2] -= remain4space;
if(box[2] < 0){
remain4space = -box[2] * 4;
if(remain4space > 0){
box[1] -= remain4space;
}
}
if(remain3space == 3){
box[2] -= 5;
if(box[2] < 0){
remain3space = -box[2] * 4;
if(remain3space > 0){
box[1] -= remain3space;
}
}
box[1] -= 7;
}else if(remain3space == 2){
box[2] -= 3;
if(box[2] < 0){
remain3space = -box[2] * 4;
if(remain3space > 0){
box[1] -= remain3space;
}
}
box[1] -= 6;
} else if(remain3space == 1){
box[2] --;
if(box[2] < 0){
remain3space = -box[2] * 4;
if(remain3space > 0){
box[1] -= remain3space;
}
}
box[1] -= 5;
}
if(box[2] > 0){
int box2num = box[2] % 9 == 0 ? box[2] / 9 : box[2] / 9 + 1;
cnt += box2num;
int remain2space = 9 * box2num - box[2];
remain2space *= 4;
box[1] -= remain2space;
}
if(box[1] > 0){
int box1num = box[1] % 36 == 0 ? box[1] / 36 : box[1] / 36 + 1;
cnt += box1num;
}
printf("%d\n", cnt);
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator