变色龙

点击打开链接

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;
}




你可能感兴趣的:(好题收集--智力题)