【C++ 真题】P1996 约瑟夫问题

打印 上一主题 下一主题

主题 746|帖子 746|积分 2238

约瑟夫问题

题目描述

                                    n                              n                  n 个人围成一圈,从第一个人开始报数,数到                                    m                              m                  m 的人出列,再由下一个人重新从                                    1                              1                  1 开始报数,数到                                    m                              m                  m 的人再出圈,依次类推,直到全部的人都出圈,请输出依次出圈人的编号。
留意:本题和《深入浅出-基础篇》上例题的表述稍有不同。书上表述是给出淘汰                                         n                            −                            1                                  n-1                     n−1 名小朋友,而该题是全部出圈。
输入格式

输入两个整数                                    n                         ,                         m                              n,m                  n,m。
输特别式

输出一行                                    n                              n                  n 个整数,按序次输出每个出圈人的编号。
样例 #1

样例输入 #1

  1. 10 3
复制代码
样例输出 #1

  1. 3 6 9 2 7 1 8 5 10 4
复制代码
提示

                                    1                         ≤                         m                         ,                         n                         ≤                         100                              1 \le m, n \le 100                  1≤m,n≤100
题解

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. const int maxn = 1e3 + 7;
  4. int m,n;
  5. queue<int> que;
  6. int main(){
  7.         cin>>n>>m;
  8.         for (int i=1;i<=n;++i){
  9.                 que.push(i);
  10.         }
  11.         while(!que.empty()){
  12.        
  13.                 for(int i=1;i<m;++i){
  14.                         int first = que.front();
  15.                         que.push(first);
  16.                         que.pop();
  17.                 }
  18.                 cout<<que.front()<<" ";
  19.                 que.pop();
  20.         }
  21.    
  22.         return 0;
  23. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

渣渣兔

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表