• NYOJ 417 死神来了 鸽巢原理


    死神来了

    时间限制: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
    ");
            else printf("NO
    ");
        }
        return 0;
    }
    


  • 相关阅读:
    Servlet的几种跳转(转)
    Java String.split()用法小结(转)
    表单数据提交的方法
    gedit文本编辑器乱码解决办法
    J-Link烧写bootloader到mini2440的Nor Flash
    虚拟机安装Fedora10系统遇到异常
    linux系统忘记root密码怎么办?
    编译busybox时出错及解决方案
    source insight代码查看器如何自定义添加文件类型
    < Objective-C >文件操作-NSFileHandle
  • 原文地址:https://www.cnblogs.com/lemonbiscuit/p/7776011.html
Copyright © 2020-2023  润新知