列表

详情


NC16024. 牛牛吃雪糕

描述

最近天气太热了,牛牛每天都要吃雪糕。雪糕有一盒一份、一盒两份、一盒三份这三种包装,牛牛一天可以吃多盒雪糕,但是只能吃六份,吃多了就会肚子疼,吃少了就会中暑。而且贪吃的牛牛一旦打开一盒雪糕,就一定会把它吃完。请问牛牛能健康地度过这段高温期么?

输入描述

每个输入包含多个测试用例。
输入的第一行包括一个正整数,表示数据组数T(1<=T<=100)。
接下来N行,每行包含四个正整数,表示高温期持续的天数N(1<=N<=10000),一盒一份包装的雪糕数量A(1<=A<=100000),一盒两份包装的雪糕数量B(1<=B<=100000),一盒三份包装的雪糕数量C(1<=A<=100000)。

输出描述

对于每个用例,在单独的一行中输出结果。如果牛牛可以健康地度过高温期则输出"Yes",否则输出"No"。

示例1

输入:

4 
1 1 1 1 
2 0 0 4 
3 0 2 5 
4 24 0 0

输出:

Yes 
Yes 
No 
Yes

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(clang++ 11.0.1) 解法, 执行用时: 3ms, 内存消耗: 428K, 提交时间: 2022-11-02 22:41:36

#include<stdio.h>
#include<iostream>
using namespace std;
int main(){
	int T,a,b,c,d;
	cin>>T;
	for(int i=0;i<T;i++){
		cin>>a>>b>>c>>d;
		int ans=d/2;
		if((d-ans*2)==1){
			if(b>0&&c>0){
				b--;
				c--;
				ans++;
			}
			else if(b>=3&&c==0){
				b=b-3;
				ans++;
			}
		} 
		ans+=c/3;
		c=c%3;
		ans+=b/6;
		b=b%6;
		if((b+c*2)>=6)
			ans++;
		if(ans>=a) printf("Yes\n");
		else printf("No\n");
	}
}

C 解法, 执行用时: 2ms, 内存消耗: 384K, 提交时间: 2023-01-10 21:23:21

#include<stdio.h>
int main()
{
    int T,n,a,b,c,k,aa,bb,cc,sum=0;
    scanf("%d",&T);
    while(T--){
        scanf("%d%d%d%d",&n,&a,&b,&c);
        k=(a/6)+(b/3)+(c/2);
        aa=a%6;bb=b%3;cc=c%2;
        sum=(aa+(bb*2)+(cc*3))/6;
        sum+=k;
        if(a==0 && bb==2 && cc==1) sum--;
        if(sum>=n) {printf("Yes\n");}
        else printf("No\n");
    }
    return 0;
}

上一题