Problem F: 985的红绿灯难题
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 208 Solved: 129
Submit Status Web Board
Description
已知红、绿、黄灯各持续r、g、y秒,985发现此时灯刚刚变绿,他想知道x秒后灯是什么颜色。
Input
第一行输入一个整数t,代表有t组测试数据。
每组数据输入四个整数x,g,y,r。
注:1 <= t <= 30,1 <= x,g,r,y <= 1e9。
Output
若x秒后变成红色输出R,变成绿色输出G,反之输出Y。
Sample Input
3 5 5 2 8 7 5 2 8 16 5 2 8
Sample Output
Y R G
HINT
红绿灯顺序:绿->黄->红->绿
#include<stdio.h>
int main() {
int T;
scanf("%d",&T);
while(T--) {
int x,g,y,r;
scanf("%d%d%d%d",&x,&g,&y,&r);
int sum=g+y+r;
if(x%sum<g)
printf("G\n");
else if(x%sum>=g&&x%sum<y+g)
printf("Y\n");
else
printf("R\n");
}
return 0;
}
/**************************************************************
Problem: 1897
Language: C++
Result: Accepted
Time:0 ms
Memory:872 kb
****************************************************************/