1197 约瑟夫问题
来源:互联网 发布:up to date数据库介绍 编辑:程序博客网 时间:2024/04/30 10:56
约瑟夫问题
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
n个人想玩残酷的死亡游戏,游戏规则如下:
n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。
请输出最后一个人的编号。
n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。
请输出最后一个人的编号。
输入
输入n和m值。
输出
输出胜利者的编号。
示例输入
5 3
示例输出
4
提示
第一轮:3被杀第二轮:1被杀第三轮:5被杀第四轮:2被杀
#include <stdio.h>#include <stdlib.h>struct mem{ int no; struct mem *next;};struct mem *head = NULL,*now,*tmp;int main(){ int n,t; int num = 0; int kil; scanf ("%d",&n); t = n; while (t--) { if ((tmp = malloc(sizeof(struct mem) *1)) == NULL) return 1; tmp->no = ++num; tmp->next = NULL; if (head == NULL) { head = tmp; now = head; }else { now->next = tmp; now = now->next; } } now->next = head; scanf ("%d",&kil); if (kil <= 1) printf("0\n"); tmp = head; while (tmp->next != tmp) { t = kil - 2; while (t--) tmp = tmp->next; tmp->next = tmp->next->next; tmp = tmp->next; } printf ("%d\n",tmp->no); return 0;}
循环链表问题。还是蛮有意思的。
0 0
- 1197 约瑟夫问题
- OJ【1197】 约瑟夫问题
- 【1197】约瑟夫问题
- SDUT 1197 约瑟夫问题
- 约瑟夫问题-sdut 1197
- SDUT 1197----约瑟夫问题
- 约瑟夫问题 sdutoj 1197
- 1197约瑟夫问题
- 约瑟夫问题 sdutoj 1197
- 1197约瑟夫问题
- SDUT 1197 约瑟夫问题
- 约瑟夫问题、约瑟夫环
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- JavaMailSendTest
- Opencv轮廓检测
- innerText
- 集训记录
- JavaMailHtmlSendTest
- 1197 约瑟夫问题
- PCA-SIFT特征分析(提升篇)
- HTTP协议
- Jersey+Spring 实现rest 接口 服务调用
- 21世纪初最有影响力的20篇计算机视觉期刊论文
- Linux查询ip地址
- C++编程规范之42:不要公开内部数据
- 谈谈Arnold之 PBR&Unbiased
- 新大陆面试经历(C++软件工程师)