zoukankan      html  css  js  c++  java
  • 蓝桥杯 书院主持人 模拟

    问题描述
      北大附中书院有m个同学,他们每次都很民主地决策很多事情。按罗伯特议事规则,需要一个主持人。同学们民主意识强,积极性高,都想做主持人,当然主持人只有一人。为了选出主持人,他们想到了一个办法并认为很民主。方法是:
      大家围成一圈,从1到m为每个同学编号。然后从1开始报数, 数到n的出局。剩下的同学从下位开始再从1开始报数。最后剩下来的就是主持人了。现在已经把同学从1到m编号,并约定报数为n的出局,请编程计算一下,哪个编号的同学将会成为主持人。
    输入格式
      一行,由空格分开的两个整数m n。
    输出格式
      一个整数,表示主持人的编号
    样例输入
    15 3
    样例输出
    5
    样例输入
    200 55
    样例输出
    93
    数据规模和约定
      10000>m>0; 100>n>0;
      时间限制1.0秒
    是的没错,又是一道围成一个圈开始数数,谁数到n谁出局的俄罗斯转盘游戏。
    同样的题目为什么我又写了一篇题解呢。
    因为这道题目我debug了一小时。。。
    细节啊细节啊,仰天长叹。
    话说输出中间变量来debug的方法真好。
    AC代码
     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 bool vis[10010]; //vis[i]=true表示i已经出局 
     4 int main() {
     5     int m, n;
     6     cin >> m >> n;
     7     int t = 0; //当前数到的数字 
     8     int cnt = 0; //当前已经出局的人数 
     9     for (int i = 1; i <= m; i++) { //遍历1~m个人 
    10         if (cnt == m - 1) { //如果已出局m-1人,则最后一人为答案 
    11             for (int j = 1; j <= m; j++) {
    12                 if (vis[j] == false) {
    13                     cout << j << endl;
    14                 }
    15             }
    16             return 0;
    17         }
    18         if (vis[i] == true) {
    19             if (i == m) {
    20                 i = 0;
    21             }
    22             continue;
    23         } else {
    24             t++;
    25             //cout << i << " " << t << endl;
    26             if (t == n) {
    27                 vis[i] = true;
    28                 t = 0;
    29                 cnt++;
    30             }
    31         }
    32         if (i == m) {
    33             i = 0;
    34         }
    35     }
    36     return 0;
    37 }
  • 相关阅读:
    css 超出两行省略号,超出一行省略号
    css 去掉i标签默认斜体样式
    Spring 使用单选按钮
    Spring Maven工程引入css,js
    Sping 补充完成修改功能
    Spring 控制器层如何启用验证?
    Spring 控制器层如何调用DAO层
    spring boot工程如何启用 热启动功能
    Spring 视图层如何显示验证消息提示
    Sping POJO中如何添加验证规则和验证消息提示
  • 原文地址:https://www.cnblogs.com/fx1998/p/12716158.html
Copyright © 2011-2022 走看看