Problem D: hardbird的礼物
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 102 Solved: 33
[ Submit][ Status][ Web Board]
Description
hardbird最近收到了一个礼物——一个新的有n层的玻璃展柜,于是bird决定把他所有的礼物都放在他的新礼物里。所有的礼物被分成两种:奖牌和奖杯。bird有
a
1个一等奖杯,
a
2个二等奖杯,
a
3个三等奖杯和
b
1个一等奖牌,
b
2个二等奖牌,
b
3个三等奖牌。
为了让展柜看起来更漂亮,bird决定按照以下规则来摆放:
任何一层不能同时放奖牌和奖杯。
任何一层放的奖杯不能超过5个。
任何一层放的奖牌不能超过10个。
请帮助bird判断展柜能否放下所有的礼物。
Input
输入包含多组数据。
每组数据第一行输入三个整数
a
1,
a
2,
a
3 (0 ≤
a
1,
a
2,
a
3 ≤ 100).
第二行输入三个整数
b
1,
b
2 and
b
3 (0 ≤
b
1,
b
2,
b
3 ≤ 100).
第三行输入一个整数
n (1 ≤
n ≤ 100).
同一行的数字用空格相隔.
Output
如果所有的礼物都可以按照要求放进展柜,就请输出”YES”(没有引号)。否则输出”NO”(没有引号)。
Sample Input
1 1 1
1 1 1
4
1 1 3
2 3 4
2
1 0 0
1 0 0
1
Sample Output
YES
YES
NO
根据代码解释:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <ctype.h>
int main()
{
double a1,a2,a3,b1,b2,b3;
int n,aaa,bbb;
while(~scanf("%lf%lf%lf%lf%lf%lf%d",&a1,&a2,&a3,&b1,&b2,&b3,&n)) //格式化输入
{
double aa,bb;
aa = a1+a2+a3;
bb = b1+b2+b3;
aa /= 5; //装奖杯需要的层数
bb /= 10; //装奖牌需要的层数
aaa = ceil(aa); //向上取整
bbb = ceil(bb); //向上取整
if(aaa+bbb <= n)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
/**************************************************************
Problem: 1626
User: team47
Language: C
Result: Accepted
Time:0 ms
Memory:748 kb
****************************************************************/