985的红绿灯难题

来源:互联网 发布:linux双系统升级win10 编辑:程序博客网 时间:2024/04/29 15:50

Problem F: 985的红绿灯难题

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 205  Solved: 126

SubmitStatusWeb 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

35 5 2 87 5 2 816 5 2 8 

Sample Output

YRG

HINT

 红绿灯顺序:绿->黄->红->绿

理论上r + y + g是可以爆int的,但这题没有爆。

#include<cstdio> #include<cstring> using namespace std;  int main() {     int t;     scanf("%d",&t);     while(t--)     {         int x,r,g,y,sum;         scanf("%d%d%d%d",&x,&g,&y,&r);         sum=r+g+y;         x=x%sum;     //  printf("%d\n",x);         if(x<g)            printf("G\n");         else if(x<g+y)            printf("Y\n");         else  printf("R\n");     }     return 0; } 


0 0
原创粉丝点击