• Vijos P1785 同学排序【模拟】


    同学排序

    描述

    现有m位同学,第1位同学为1号,第2位同学为2号,依次第m位同学为m号。要求双号的学生站出来,然后余下的重新组合,组合完后,再次让双号的学生站出来,重复n次,问这时有多少同学出来站着?

    样例1

    样例输入1

    1989 5
    

    样例输出1

    1926
    

    限制

    1s

    提示

    【数据范围】
    1≤n≤10
    100≤m≤100000

    题目链接:https://vijos.org/p/1785

    分析:站出序号为偶数的人,如果总人数为奇数,剩余人数向上取整再折半就好了!

    下面给出AC代码:

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     int n,m;
     6     cin>>n>>m;
     7     int i=1,ans=0;
     8     while(i<=m)
     9     {
    10         i++;
    11         ans+=n/2;
    12         n=(n+1)/2;
    13     }
    14     cout<<ans<<endl;
    15     return 0;
    16 }
  • 相关阅读:
    洛谷P3747 [六省联考2017]相逢是问候
    染色(dye)
    BZOJ1426: 收集邮票
    消息队列RabbitMQ
    CRM
    BBS
    版本控制
    RESTful API
    Luffy
    axios使用
  • 原文地址:https://www.cnblogs.com/ECJTUACM-873284962/p/7056781.html
Copyright © 2020-2023  润新知