1017: 985的红绿灯难题 [数学]
时间限制: 1 Sec 内存限制: 128 MB提交: 69 解决: 39
题目描述
已知红、绿、黄灯各持续r、g、y
秒后灯是什么颜色。
灯颜色的变化:绿色 -> 黄色 -> 红色 -> 绿色。
输入
第一行输入一个整数T
,代表有T组测试数据。每组数据输入四个整数x,g,y,r。
注:1<=T<=30,1<=x,g,y,r<=109
。
输出
若x
秒后变成红色输出R,变成绿色输出G,反之输出Y
。
样例输入
3
5 5 2 8
7 5 2 8
16 5 2 8
样例输出
Y R G 解析: 首先判断所给的时间%(y+g+r) ,结果然后再与相应的时间段去比较即可。 程序如下:
#include<cstdio> int main() { int t; scanf("%d",&t); while(t--) { long long n,g,y,r,a; scanf("%lld%lld%lld%lld",&n,&g,&y,&r); a=n%(g+y+r); if(a<g) printf("G\n"); else if(a>=g&&a<g+y) printf("Y\n"); else printf("R\n"); } return 0; }