NYOJ:死神来了(鸽巢定理)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41505957/article/details/84311909

http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=417

描述

有一天,小王子在遨游世界时,遇到了一场自然灾害。一个人孤独的在一个岛上,没有吃的没有喝的。在他饥寒交迫将要死亡时,死神来了。由于这个死神在成神之前是一个数学家,所以他有一个习惯,会和即死之人玩一个数学游戏,来决定是否将其灵魂带走。游戏规则是死神给小王子两个整数n(100<=n<=1000000),m(2<=m<=n),在1~n个数中,随机取m个数,问在这m个数中是否一定存在一个数是另一个数的倍数,是则回答“YES",否则”NO"。如果小王子回答正确,将有再活下去的机会。但是他很后悔以前没有好好学习数学,小王子知道你数学学得不错,请你救他一命。

输入

有多组测试数据,不多于10000;
每组有两个数n,m;
以文件结束符EOF为结束标志。

输出

输出"YES"或"NO"。

样例输入

100 80
100 20

样例输出

YES
NO

桌上有10个苹果,要把这10个苹果放到9个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面放2个苹果,抽屉定理也叫鸽笼定理,10只鸽子飞向9个鸽笼,至少有一个鸽笼有2只鸽子。

打个比方10可以选10,9,8,7,6,除此之外不能再选。

20可以选20,19,18,17,16,15,14,13,12,11,除此之外不能再选

#include<stdio.h>
int main()
{
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		n=n/2+(n%2);
		if(m>n)
			printf("YES\n");
		else
			printf("NO\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41505957/article/details/84311909