ACM暑期培训第一次积分赛J Jack与Pony的战斗

J Jack与Pony的战斗
时间限制内存限制出题人
1 Second 512 Mb 凡凯
题目描述
Jack和Pony分别是两股势力的头目,一直以来他们之间总是冲突不断。最近他们又开始了T轮
新的竞争,在每轮竞争中他们会进行多次的PK。在每轮竞争前他们的起始积分都为0,在每
次PK中,赢的一方会加2x积分,输的一方会加x积分(注:x为一个任意正整数)。然后针对
每轮竞争GM会给出两个值m; n,判断经过这轮的多次PK他们两个的积分是否能得到这两个值。
若能得到则输出“Yes”,若不能得到则输出“No”。
输入
输入包含T轮竞争(1 T 100)。每轮竞争输入两个整数m; n(1 m; n 10000000)。
输出
对于每轮竞争,若经过数次PK他们两人的积分能得到GM给出的值,则输出“Yes”,否则输出
“No”。
输入样例
3
10 5
121 123
12 100000
输出样例
Yes
No
No

注意:题意中一轮右多次PK,x为一个任意正整数但对每一轮x为一个固定值

做题思路:本题只是简单的单纯的小数学题,不涉及算法和逻辑。设Jack赢了k1场,输了k2场,则有Jack得了2k1+k2分,Pony得了k1+2k2分,即2k1+k2=m, k1+2k2=n,解出k1,k2存在且为正整数或者0,即Yes,否则No

代码;

​
#include <stdio.h>
int main()
{
	int t,m,n,k1,k2;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&m,&n);
		k1=2*m-n;//实际上取余3才为k1 
		k2=2*n-m;
		if(k1%3==0&&k2%3==0&&k1>=0&&k2>=0)//容易漏掉让k1,k2>0,否则通不过 
		printf("Yes\n");
		else printf("No\n");
	}
	return 0;
} 

​

猜你喜欢

转载自blog.csdn.net/nanfengzhiwoxin/article/details/81171113