死神来了

时间限制: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 80
100 20
样例输出
YES
NO
来源

思路:鸽巢原理

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

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

代码:

#include<cstdio>
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;
}

NYOJ 417 死神来了 鸽巢原理的更多相关文章

  1. POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理

    Halloween treats Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7644   Accepted: 2798 ...

  2. POJ 2356. Find a multiple 抽屉原理 / 鸽巢原理

    Find a multiple Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7192   Accepted: 3138   ...

  3. cf319.B. Modulo Sum(dp && 鸽巢原理 && 同余模)

    B. Modulo Sum time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  4. poj 2356 Find a multiple(鸽巢原理)

    Description The input contains N natural (i.e. positive integer) numbers ( N <= ). Each of that n ...

  5. poj2356 Find a multiple(抽屉原理|鸽巢原理)

    /* 引用过来的 题意: 给出N个数,问其中是否存在M个数使其满足M个数的和是N的倍数,如果有多组解, 随意输出一组即可.若不存在,输出 0. 题解: 首先必须声明的一点是本题是一定是有解的.原理根据 ...

  6. HDU 1005 Number Sequence【多解,暴力打表,鸽巢原理】

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  7. Codeforces.618F.Double Knapsack(构造 鸽巢原理)

    题目链接 \(Description\) 给定两个大小为\(n\)的可重集合\(A,B\),集合中的元素都在\([1,n]\)内.你需要从这两个集合中各选一个非空子集,使它们的和相等.输出方案. \( ...

  8. Find the duplicate Number (鸽巢原理) leetcode java

    问题描述: Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive ...

  9. [BZOJ4722]由乃[鸽巢原理+bitset+倍增]

    题意 给定长为 \(n\) 序列 \(a\) ,要求支持两种操作: \(1.\) 询问在一个区间 \([l,r]\) 中,是否能够选出两个交集为空的集合 $ \rm X ,Y$, 使得 \(\sum_ ...

随机推荐

  1. es6总结

    主要包括let const,模板字符串,解构赋值,箭头函数,扩展运算符,Promise,类,import export等 一.let和const 1.let所声明的变量只在let所在的代码块内有效.l ...

  2. Muduo阅读笔记---入门(一)

    第一步:下载源码和文档 下载muduo项目的源码.<muduo-manual.pdf>文档,以及<Linux多线程服务端编程:使用muduo C++网络库.pdf>,这些是前期 ...

  3. CentOS配置上网

    CentOS设置:   进入CentOS命令模式: Centos7更改默认启动桌面(或命令行)模式 vi /etc/inittab:查看启动文件,在该文件中存在两种方式: multi-user.tar ...

  4. SQLSERVER实现更改表名,更改列名,更改约束代码

    1.修改表名 格式:sp_rename tablename,newtablename ? 1 sp_rename tablename,newtablename 2.修改字段名 格式:sp_rename ...

  5. [转载] Java中常用的加密方法

    转载自http://www.iteye.com/topic/1122076/ 加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的 ...

  6. CLR类型设计之参数传递

    写到这篇文章的时候,笔者回忆起来以前的开发过程中,并没有注意参数的传递是以值传递还是引用传递的,也是第一次了解到可变参数params,常用的不一定就代表理解,可能只是会用.接下来我们就一起回忆一下关于 ...

  7. springMVC初探

    MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—>封装响应的数据 d,将响应的数据进行渲染 sp ...

  8. Intrumentation类:ActivityInstrumentationTestCase2学习(1)

    public abstract class ActivityInstrumentationTestCase2 extends ActivityTestCase//继承自ActivityTestCase ...

  9. javaweb-3-在Eclipse中引入Tomcat

    一.在Eclipse中引入Tomcat 第一步: 第二步: 第三步: 第四部:

  10. Lucene入门-安装和运行Demo程序

    Lucene版本:7.1 一.下载安装包 https://lucene.apache.org/core/downloads.html 二.安装 把4个必备jar包和路径添加到CLASSPATH \lu ...