约瑟夫问题(环形链表解题)
来源:互联网 发布:淘宝上亚马逊会员代买 编辑:程序博客网 时间:2024/05/29 14:00
约瑟夫问题
Time Limit: 1000MS Memory Limit: 65536KB
Problem Description
n个人想玩残酷的死亡游戏,游戏规则如下:
n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。
请输出最后一个人的编号。
n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。
请输出最后一个人的编号。
Input
输入n和m值。
Output
输出胜利者的编号。
Example Input
5 3
Example Output
4
Hint
第一轮:3被杀第二轮:1被杀第三轮:5被杀第四轮:2被杀
#include <iostream>using namespace std;struct node{ int date; node *next;}*head;int n;void creat(){ node *p,*tail; head->next=NULL; tail=head; for(int i=1;i<=n;i++) { p=new node; p->next=NULL; p->date=i; tail->next=p; tail=tail->next; } tail->next=head->next;}int m;void Game(){ node *p=head; node *q=head->next;node *r; for(int k=0;k<4;k++) { for(int i=0;i<m-1;i++) { p=p->next; q=q->next;r=q; } p->next=q->next;q=q->next;} cout<<p->next->date<<endl;}int main(){ head=new node; cin>>n; creat(); cin>>m;if(m==1) {cout<<n<<endl;return 0;} Game(); return 0;}
阅读全文
0 0
- 约瑟夫问题(环形链表解题)
- 环形链表解约瑟夫环
- 环形链表,约瑟夫问题,(7)
- 链表解决约瑟夫问题
- 链表问题(4)-- 环形单链表的约瑟夫问题
- 约瑟夫问题(Josephus)java链表解决
- 约瑟夫环问题 (用循环链表解决)
- 约瑟夫问题(本人使用链表解决的)
- 用链表解决约瑟夫(Josephus)问题
- 循环链表解决约瑟夫问题(简化版)
- 约瑟夫问题 java解法(双向链表解决)
- 数据结构(三):循环单链表解决约瑟夫问题
- 循环链表解决约瑟夫问题(简化版)
- 环形链表+约瑟夫问题实现
- Java环形链表--约瑟夫问题
- 约瑟夫环问题单循环链表解法
- 约瑟夫问题的非链表解法
- 循环链表解决约瑟夫问题
- 3D 激光SLAM ->loam_velodyne论文与代码解析Lidar Odometry and Mapping
- Unity的内存优化以及在移动平台上的优化
- HTTP请求
- 欢迎使用CSDN-markdown编辑器
- Linux 高可用集群
- 约瑟夫问题(环形链表解题)
- 操作文件和目录
- php-cgi php-fpm说明
- 英文禁止溢出/ios自带美化去除/ios兼容go(-1)问题
- ZOJ
- Windows命令行查看文件的MD5 和win10下获取md5-sha1
- NKOJ 4042 (CQOI 2017) 老C的方块(最小割+染色)
- 数据库概念
- android沉浸式状态栏封装—教你玩出新花样