https://www.luogu.org/problem/show?pid=1996||http://codevs.cn/problem/1282/

题目背景

约瑟夫是一个无聊的人!!!

题目描述

n个人(n<=30000)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,……依次类推,直到所有的人都出圈,请输出依次出圈人的编号.

输入输出格式

输入格式:

n m

输出格式:

出圈的编号

输入输出样例

输入样例#1:

  1. 10 3
输出样例#1:

  1. 3 6 9 2 7 1 8 5 10 4

说明

  1. #include <algorithm>
  2. #include <iostream>
  3. #include <cstdio>
  4. #define N 30005
  5.  
  6. using namespace std;
  7.  
  8. int n,m,sum,k,now;
  9. int que[N];
  10. bool vis[N];
  11.  
  12. int main()
  13. {
  14. cin>>n>>m;
  15. while(sum<n)
  16. {
  17. k++;
  18. now++;
  19. if(now==n+) now=;
  20. if(vis[now])
  21. while(vis[now])
  22. {
  23. now++;
  24. if(now==n+)
  25. now=;
  26. }
  27. if(k==m)
  28. {
  29. k=;
  30. printf("%d ",now);
  31. vis[now]=;
  32. sum++;
  33. }
  34. }
  35. return ;
  36. }
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <cstdio>
  4. #define N 30005
  5.  
  6. using namespace std;
  7.  
  8. int n,m,k,sum,now;
  9. int que[N];
  10.  
  11. int main()
  12. {
  13. cin>>n>>m;
  14. for(int i=;i<n;i++)
  15. que[i]=i+;
  16. que[n]=;
  17. k=; now=n;
  18. while(sum<n)
  19. {
  20. while(k<m)
  21. {
  22. k++;
  23. now=que[now];
  24. }
  25. printf("%d ",que[now]);
  26. sum++;
  27. que[now]=que[que[now]];
  28. k=;
  29. }
  30. return ;
  31. }

2

  1. #include <cstdio>
  2.  
  3. using namespace std;
  4.  
  5. int n,m,q[],now=;
  6.  
  7. int main()
  8. {
  9. scanf("%d%d",&n,&m);
  10. for(int i=;i<=n;i++) q[i]=i;
  11. while(n)
  12. {
  13. now=(now+m-)%n;
  14. if(now==) now=n;
  15. printf("%d ",q[now]);
  16. for(int i=now;i<n;i++) q[i]=q[i+];
  17. n--;
  18. }
  19. return ;
  20. }

3 the quickest

P1996||T1282 约瑟夫问题 洛谷||codevs的更多相关文章

  1. 【新知识】队列&bfs【洛谷p1996约瑟夫问题&洛谷p1451求细胞数量】

    (是时候为五一培训准备真正的技术了qwq) part1  队列(FIFO) 算法简介: FIFO:First In First Out(先进先出) 队列是限定在一端进行插入,另一端进行删除的特殊线性表 ...

  2. P1546||2627 最短网络 Agri-Net 洛谷||codevs

    https://www.luogu.org/problem/show?pid=1546 同http://codevs.cn/problem/2627/ 不同算法 题目背景 农民约翰被选为他们镇的镇长! ...

  3. P1093||T1142 奖学金 洛谷||codevs

    http://codevs.cn/problem/1142/ || https://www.luogu.org/problem/show?pid=1093 题目描述 某小学最近得到了一笔赞助,打算拿出 ...

  4. 【目录】洛谷|CODEVS题解汇总

    [动规]爱与愁的心痛 [动规]编辑距离 [动规]采药 [动规]创意吃鱼法 [动规]过河卒 [动规]开心的金明 [动规]旅行 [动规]骑士游历 [动规]数字三角形 [动规]最长连号 [动规]装箱问题 [ ...

  5. 【vector的输出问题】 洛谷 P1996 约瑟夫问题

    题目:P1996 约瑟夫问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 可恶啊,本来是一道不算难的题,硬是因为cin,cout同步流卡了我一天qwq 关闭cin,cout同步流 ...

  6. 洛谷P1395 会议(CODEVS.3029.设置位置)(求树的重心)

    To 洛谷.1395 会议 To CODEVS.3029 设置位置 题目描述 有一个村庄居住着n个村民,有n-1条路径使得这n个村民的家联通,每条路径的长度都为1.现在村长希望在某个村民家中召开一场会 ...

  7. 洛谷P1432 倒水问题(CODEVS.1226)

    To 洛谷.1432 倒水问题 题目背景 In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were co ...

  8. 洛谷 P2155 BZOJ 2186 codevs 2301 [SDOI2008]沙拉公主的困惑

    题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现在所有真钞票的 ...

  9. 洛谷P1650赛马与codevs 2181 田忌赛马

    洛谷P1650 赛马 题目描述 我国历史上有个著名的故事: 那是在2300年以前.齐国的大将军田忌喜欢赛马.他经常和齐王赛马.他和齐王都有三匹马:常规马,上级马,超级马.一共赛三局,每局的胜者可以从负 ...

随机推荐

  1. JS filters-ul li简单过滤

    功能要求:在input中输入字母,显示ul li中匹配的元素,隐藏不匹配的 <!DOCTYPE html> <html> <head> <meta chars ...

  2. Django model 反向引用中的related_name

    转自:https://blog.csdn.net/lanyang123456/article/details/68962515 问题: 定义表Apple: class Apple( models.Mo ...

  3. Apache与IIS端口冲突解决方法

    在安装Apache或者php集成环境包是经常会遇到Apache的80端口被占用导致无法正常启动Apache. Win7可以通过如下方法解决(如果坚持要使用80端口的话): 1.打开"控制面板 ...

  4. numpy基本用法

    numpy 简介 numpy的存在使得python拥有强大的矩阵计算能力,不亚于matlab. 官方文档(https://docs.scipy.org/doc/numpy-dev/user/quick ...

  5. SpringMVC 控制器统一异常处理

    摘要介绍spring mvc控制器中统一处理异常的两种方式:HandlerExceptionResolver以及@ExceptionHandler:以及使用@ControllerAdvice将@Exc ...

  6. C# GDI+ 画坐标(x,y)

    private void button1_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); g.Clear ...

  7. WPF小记 -- 使用Path自己画图标,点击命中(焦点)丢失问题

    在Template中,Path外面的Grid需添加Background属性值.否则点击范围会受限制,例如:Click,在RadioButton的Height和With范围内点击,命中率<1. & ...

  8. 卸载钩子 UnhookWindowsHookEx

    The UnhookWindowsHookEx function removes a hook procedure installed in a hook chain by the SetWindow ...

  9. java线程学习2

    sleep  变为阻塞态  但不释放锁  休眠指定毫秒时间 yield  变为就绪态  可能立即被执行  也可能不立即被执行 join   插队  暂停当前执行的线程  让调用join的线程先执行 线 ...

  10. 使用JQuery MiniUI,json数据构建TreeGrid(树图)

    index.html直接上代码. 需要引用MiniUI的boot.js <!DOCTYPE html> <html> <head> <meta charset ...