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; }