南邮 OJ 1950 比赛现场气氛营造问题

比赛现场气氛营造问题

时间限制(普通/Java) :  1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 594            测试通过 : 57 

比赛描述

       所有题目(Word、PDF格式):http://acm.njupt.edu.cn/acmhome/nuptacm/2013HW.zip

在2013“华为杯”南京邮电大学大学生团体歌唱大赛组织工作中,为了营造比赛现场活跃气氛,大赛组委会决定为每位观众发放相同数目的OLED多彩荧光棒。现在我被委派批量采购荧光棒,大赛组委会特别要求:留1个荧光棒备用,其他所有的荧光棒都要平均发放给观众。已知目前市场上OLED多彩荧光棒只能按整包出售,每整包中的荧光棒数目相同。

借此次“华为杯”南邮大学生程序设计竞赛的机会,请你帮我解决以下问题:已知观众数目、每整包中的OLED多彩荧光棒数目,我去采购,能否可能满足大赛组委会的特别要求。



输入

 

输入包括多个测试用例,首先给出测试用例数N,接着给出N个测试用例,每一个测试用例包括1行,给出观众数目M、每整包中的OLED多彩荧光棒数目T,1≤N<1000,1≤M≤109,1≤T≤109,购买OLED多彩荧光棒总数不超过109。

输出

针对每一个测试用例,如果有任何一种购买方案(特定整包数)使得满足大赛组委会的特别要求,则在一行中输出字符串Yes;如果无论怎么采购都不能满足大赛组委会的特别要求,则在一行中输出字符串No。

 

样例输入

5
3 3
3 4
5 6
7 4
51 45

样例输出

No
Yes
Yes
Yes
No

提示

本题纯属虚构,题目中输入数据和输出数据在一行中均以空格分隔,赛后酌情进行重新测试。

题目来源

SED




/* Wrong Answer at Test 1
#include<iostream>

int main(){
	int t,x,y;
	scanf("%d",&t);
	while(t--){
		scanf("%d%d",&x,&y);
		x %= y;
		if(x==0){
			x = y;
		}
		if( (y-1)%x == 0 ){
			printf("Yes\n");
		}else{
			printf("No\n");
		}
	}
}
*/


// 即要存在 a、b,使得 ax == by-1 成立。
// 则 ax 与 by 的差值(仅考虑大于0的)至少为gcd(x,y),如果gcd(x,y)>1,则 ax == by-1 不可能成立
// 所以要使 ax == by-1 ,必须 gcd(x,y)==1.


#include<iostream>

int gcd(int x, int y){
	int temp;
	while(y){
		temp = y;
		y = x%y;
		x = temp;
	}
	return x;
}

int main(){
	int t,x,y;
	scanf("%d",&t);
	while(t--){
		scanf("%d%d",&x,&y);
		if(gcd(x,y)==1){
			printf("Yes\n");
		}else{
			printf("No\n");
		}
	}
}


你可能感兴趣的:(ACM,南邮OJ,气氛营造)