点击打开链接
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 "); continue; } if(abs(x-y)%3==0 || abs(x-z)%3==0 || abs(y-z)%3==0) { printf("Yes "); continue; } printf("No "); } return 0; }