
NYOJ 417 死神来了 鸽巢原理
发布日期:2021-05-09 04:20:42
浏览次数:24
分类:博客文章
本文共 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时,才会出现一个组内有两个数,且两数为倍数关系
代码:
#includeint 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;}
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月04日 19时38分56秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
设计模式学习笔记(二十三:解释器模式)
2021-05-09
使用MongoDB和JSP实现一个简单的购物车系统
2021-05-09
算法笔记_069:Floyd算法简单介绍(Java)
2021-05-09
算法笔记_075:蓝桥杯练习 最短路(Java)
2021-05-09
from flask.ext.wtf import Form导入报错
2021-05-09
Python学习笔记_05:使用Flask+MySQL实现用户登陆注册以及增删查改操作
2021-05-09
Deepin_使用Python+MySQL创建工作日志记录
2021-05-09
dpdk在虚拟机上出错处理
2021-05-09
Nagios 系统监控基本安装配置过程详解
2021-05-09
Macbook 彻彻底底的卸载MySQL
2021-05-09
ASP.NET Core 一步步搭建个人网站(4)_主页和登录验证
2021-05-09
SSIS 转移数据库和SQL Server对象组件
2021-05-09
NumPy 学习 第四篇:数组的基本操作
2021-05-09
正则表达式 第四篇:贪婪和消耗字符
2021-05-09
SQL Server 列存储索引 第二篇:设计
2021-05-09
ADF 第五篇:转换数据
2021-05-09
Databricks 第4篇:pyspark.sql 分组统计和窗口
2021-05-09
博客系列目录
2021-05-09
部署AlwaysOn第二步:配置AlwaysOn,创建可用性组
2021-05-09
PowerBI开发 第八篇:查询参数
2021-05-09