点击打开链接
1346: 变色龙
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 100 Solved: 28
[Submit][Status][Web Board]
Description
在一个美丽的小岛上住着一群变色龙:其中有X只变色龙是红色的,Y只变色龙是绿色的,Z只变色龙是蓝色的。
每个时刻会有两只不同颜色的变色龙相遇,相遇后他们会同时变成第三种颜色。比如,如果一只红色的变色龙和一只蓝色的变色龙相遇了,他们就会同时变成绿色的变色龙,如果一只绿色的变色龙和一只蓝色的变色龙相遇了,他们就会同时变成红色的变色龙,等等。
那么最后是否有可能所有的变色龙都是同一种颜色呢?
Input
输入的第一行包含一个整数T (1 <= T <= 100),表示接下来一共有T组测试数据。
每组数据占一行,包含三个整数X, Y, Z (1 <= X, Y, Z <= 109),含义同上。
Output
对于每组测试数据,如果最后有可能所有的变色龙都是同一种颜色,用一行输出“Yes”(不包括引号),否则输出“No”(不包括引号)。
Sample Input
4
1 1 1
1 2 3
7 1 2
3 7 5
Sample Output
Yes
No
Yes
No
HINT
对于样例1:其中一种可能的变化方式为:1 1 1 --> 0 2 0。
对于样例3:其中一种可能的变化方式为:7 1 2 --> 6 3 1 --> 5 5 0 --> 4 4 2 --> 3 3 4 --> 2 2 6 --> 1 1 8 --> 0 0 10。
代码一并附上:
#include "stdio.h"
#include "math.h"
int main()
{
int T;
int x,y,z;
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d",&x,&y,&z);
if(x==y || y==z || x==y)
{
printf("Yes\n");
continue;
}
if(abs(x-y)%3==0 || abs(x-z)%3==0 || abs(y-z)%3==0)
{
printf("Yes\n");
continue;
}
printf("No\n");
}
return 0;
}