NOI / 3.2数据结构之指针和链表——1748:约瑟夫问题
2020-03-05 12:02
316 查看
总时间限制: 1000ms 内存限制: 65536kB
描述
约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。
输入
每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 < m,n <=300)。最后一行是:
0 0
输出
对于每行输入数据(最后一行除外),输出数据也是一行,即最后猴王的编号
样例输入
6 2
12 4
8 3
0 0
样例输出
5
1
7
#include<bits/stdc++.h> using namespace std; int pd(bool a[],int x) { int ans=0; for(int i=1;i<=x;i++) if(a[i]==0) { ans=i; } return ans; } int main() { int m=1,n=1; while(m!=0&&n!=0) { int i=0,k=0; int p=0; bool a[1001]={}; cin>>m>>n; k=m; while(k>1) { i++; if(a[i]==1) { if(i==m) i=0; continue; } p++; if(p==n) { p=0; a[i]=1; k--; } if(i==m) i=0; } if(n!=0&&m!=0) cout<<pd(a,m)<<endl; } return 0; }
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- 3.2数据结构之指针和链表 1748:约瑟夫问题
- JavaScript数据结构之单向循环链表应用-约瑟夫问题
- Java数据结构 循环链表 约瑟夫问题
- JS数据结构第三篇---双向链表和循环链表之约瑟夫问题
- 数据结构学习笔记(二) 链表之用循环链表解决约瑟夫问题
- 【NOI题解】 3.2数据结构之指针和链表
- c语言数据结构之单向循环链表约瑟夫问题
- C语言数据结构之利用循环链表解决约瑟夫问题
- Java数据结构约瑟夫问题和腾讯面试题快慢指针找出中间节点
- 数据结构 循环链表之约瑟夫问题
- 关于链表、树等数据结构中常见的二级指针
- 这是我参考网上编写的一道数据结构关于二叉树求其子树是否指针或者线索,及其对应得值,但是我运行结果却是有点问题,希望高手帮指教下!
- c++笔记(5):操作符、结构体、结构数组、链表、约瑟夫问题
- 快慢指针解决单向链表是否有环的一系列问题
- 数据结构_中国大学MOOC(慕课)——两个有序链表序列的合并问题
- 线性数据结构——约瑟夫问题
- 数据结构(C语言):链表,约瑟夫问题
- UVA 133 The Dole Queue 约瑟夫问题的变种,手写链表,模拟
- 数据结构练习:约瑟夫问题——循环链表的建立与使用
- 约瑟夫问题链表解决方法(带有析构函数)