题目D:比赛现场气氛营造问题
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
问题描述
在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
提示
本题纯属虚构,题目中输入数据和输出数据在一行中均以空格分隔,赛后酌情进行重新测试。
本人代码如下:仅供参考!
#include<stdio.h>
#include<stdlib.h>
int main()
{
int count,a,i,*p,*q;
scanf("%d",&count);
int n=count;
q=(int *)malloc(count*sizeof(int));
while(count--)
{
static int j=0;
p=(int *)malloc(2*sizeof(int));
for(i=0;i<2;i++)
scanf("%d",&p[i]);
if(((double)p[0]+1)/p[1]==(p[0]+1)/p[1])
q[j++]=1;
else
q[j++]=0;
}
for(a=0;a<n;a++)
{
if(q[a]==1)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}