POJ 3750 小孩报数问题
题目链接http://poj.org/problem?id=3750
用链表解决的约瑟夫问题
写的比较麻烦比较长
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 struct node 5 { 6 int num; 7 char name[200]; 8 struct node*next; 9 }; 10 struct node*creat(int n) 11 { 12 int i; 13 struct node*p,*tail,*head; 14 p=(struct node*)malloc(sizeof(struct node)); 15 p->num=1; 16 scanf("%s%*c",&p->name); 17 p->next=NULL; 18 head=p; 19 tail=p; 20 for(i=2;i<=n;i++) 21 { 22 p=(struct node*)malloc(sizeof(struct node)); 23 p->num=i; 24 scanf("%s%*c",&p->name); 25 tail->next=p; 26 tail=p; 27 p->next=NULL; 28 } 29 tail->next=head; 30 return head; 31 } 32 int sel(struct node*head,int s,int m,int n) 33 { 34 int num=0,i; 35 int count=0; 36 struct node*p,*q; 37 q=head; 38 while(q->next!=head) 39 q=q->next; 40 for(i=0;i<s-1;i++) 41 {q=q->next;} 42 //printf("被删除的人的序号依次是:"); 43 while(count<n-1) 44 { 45 p=q->next; 46 num++; 47 if(num%m==0) 48 { 49 q->next=p->next; 50 printf("%s\n",p->name); 51 free(p); 52 count++; 53 } 54 else 55 q=p; 56 } 57 printf("%s",q->name); 58 } 59 int main() 60 { 61 int n,m,s; 62 struct node*head; 63 scanf("%d",&n); 64 head=creat(n); 65 scanf("%d,%d",&s,&m); 66 sel(head,s,m,n); 67 return 0; 68 }
转载于:https://www.cnblogs.com/timeship/archive/2012/07/17/2595717.html
POJ 3750 小孩报数问题相关推荐
- POJ 3750 小孩报数问题(约瑟夫问题 水题 考验细节、编码能力)
原题 小孩报数问题 Time Limit: 1000MS Memory Limit: 65536K Description 有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S ...
- 约瑟夫环 poj 3750 小孩报数问题 模拟
Language: Default 小孩报数问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10071 Accept ...
- pku 3750 小孩报数问题 解题报告
小孩报数问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3376 Accepted: 1597 Descriptio ...
- POJ3750 小孩报数问题【模拟】
小孩报数问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14909 Accepted: 6647 Descripti ...
- Java 小孩报数问题
小孩报数问题:有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到S个出列,如此重复下去,直到所有的小孩都出列(总人数不足S ...
- B - 小孩报数问题
B - 小孩报数问题 有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到S个出列,如此重复下去,直到所有的小孩都出列(总人 ...
- javastudy-43:小孩报数问题
43:小孩报数问题 描述 有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到S个出列,如此重复下去,直到所有的小孩都出列( ...
- ZCMU-1474: 小孩报数问题(C语言)
1474: 小孩报数问题 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 473 Solved: 213 [Submit][Status][Web B ...
- poj3750 小孩报数问题
小孩报数问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8929 Accepted: 4191 Descriptio ...
最新文章
- 第七篇:循环神经网络
- Java+Selenium3.3.1环境搭建
- tensorflow随笔-底层梯度
- 人工智能对医疗和健康产业的冲击和革命——体外克隆
- php redis命令大全,redis中key相关命令详解
- 计算机网络基础:网络分类和拓扑结构知识笔记
- 大话存储pdf 百度网盘_学用系列|亲身体验百度网盘内测在线文档,有遗憾也有期待...
- 共享计算机脱机访问计算机,让Windows7脱机共享访问更安全 -电脑资料
- android x86 oreo,Android-x86 8.1 RC1发布:PC上运行Android Oreo
- 祭奠被遗忘的冒泡排序
- Implement queue with two stack 用两个堆实现队列
- php有序数组合并,使用Python怎么合并两个有序数组
- 三菱PLC仿真软件的序列号
- IT公司对员工电脑监控一般使用什么软件?
- 2015职称计算机考试基础知识,2015年中级职称计算机考试基本知识点.doc
- 计算机教案word格式模板,大学授课教案模板Word格式
- 今日卢布美元汇率换算
- 我的世界java无法连接服务器_java - 无法连接到Minecraft服务器 - SO中文参考 - www.soinside.com...
- (二十)通俗易懂理解——汽车功能安全
- 什么是 CI/CD?(翻译)
热门文章
- JZOJ 5192. 【NOI2017模拟7.2】容器
- JZOJ 3597. 【CQOI2014】危桥
- opencv镜像_DX200操作要领—PAM与镜像平移变换(三十八)
- 取两个数较小值c语言_编程代码:用C语言来实现下雪效果,这个冬天,雪花很美...
- floatingactionbutton 更改背景颜色_经验分享!Word轻松换掉证件照背景颜色
- 您没有足够的全新为该计算机所有用户安装,很抱歉,无法安装Office(64位),因为您的计算机上已经安装了这些32位Office程序解决办法...
- 安卓java模拟器_用大白话告诉你:Java 后端到底是在做什么?
- Celery分布式任务队列的认识和基本操作
- word2010页脚页码的总页数修改方法
- [SDOI2010]外星千足虫 题解 高斯消元+bitset简介