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

​

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章