博客
关于我
NYOJ 417 死神来了 鸽巢原理
阅读量:448 次
发布时间:2019-03-06

本文共 712 字,大约阅读时间需要 2 分钟。

死神来了

时间限制:
1000 ms  |  内存限制:
65535 KB
难度:
3
描述

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

输入
有多组测试数据,不多于10000;
每组有两个数n,m;
以文件结束符EOF为结束标志。
输出
输出"YES"或"NO"。
样例输入
100 80100 20
样例输出
YESNO
来源

思路:鸽巢原理

假如存在倍数关系,有倍数关系的当为一组。当n为偶数,最多有n/2组分组;假如是奇数,最多有n/2+1组分组,统一写为n/2+(n&1)组

将m个数分配,只有当m>n时,才会出现一个组内有两个数,且两数为倍数关系

代码:

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

转载地址:http://xpjyz.baihongyu.com/

你可能感兴趣的文章
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
查看>>
MySQL 的instr函数
查看>>
MySQL 的mysql_secure_installation安全脚本执行过程介绍
查看>>
MySQL 的Rename Table语句
查看>>
MySQL 的全局锁、表锁和行锁
查看>>
mysql 的存储引擎介绍
查看>>
MySQL 的存储引擎有哪些?为什么常用InnoDB?
查看>>
mysql 索引
查看>>