一,题意:
  中文题。
二,思路:
  1,输入。
  2,无限循环1~n~1~n,直到输出n次,再跳出。
  3,输出名字,并标记。

普通模拟版:

 #include<iostream>
#include<cstring>
using namespace std;
int main() {
char name[][];
int n, w, s;
cin >> n;
for (int i = ; i <= n; i++) {
cin >> name[i];
}
scanf("%d,%d", &w, &s);
int count = ; //记录经过未标记的名字几次
int k = ; //记录输出的次数
for (int i = w; k!=n ; i++) { //输出 n 次,跳出
if (i > n) i = i % n; //循环 1~n~1~n
if (strcmp(name[i], "")) count++; //经过未标记的名字时 count++
if (count == s) { //经过s次未被标记的名字时
cout << name[i] << endl;
k++; //输出一次 k++
count = ; //输出以后count重新记数
w = i; //输出之后,w 重新从 i 开始
strcpy(name[i], ""); //已经输出的名字标记为 1
}
}
return ;
}

线性表模拟版:

 #include<iostream>
#include<string>
using namespace std; class SeqList {
public:
SeqList(string str[], int n); //构造函数,创建长度为n 的线性表
string Delete(int i); //输出并删除结点
int getLength() { return length; } //获取长度
private:
int length;
string name[];
}; SeqList::SeqList(string str[], int n) { //实现构造函数
for (int i = ; i < n; i++) {
name[i] = str[i];
}
length = n;
} string SeqList::Delete(int i) {
string x = name[i - ]; //定义一个x接收被删除的字符串
for (int j = i; j < length; j++) { //从被删除的结点开始,后面的向前移动,覆盖被删除的结点
name[j - ] = name[j];
}
length--; //删除一个结点,长度减 1
return x;
} int main() {
string str[];
int n, w, s;
cin >> n;
for (int i = ; i < n; i++) {
cin >> str[i];
}
scanf("%d,%d", &w, &s);
SeqList S(str, n);
while(n--) {
int ans = (w + s - ); //ans 表示要输出的名字的序号
if ( ans==S.getLength() ) {
w = ans;
cout << S.Delete(w) << endl;
}
else {
if (ans % S.getLength() != ) {
w = ans % S.getLength();
cout << S.Delete(w) << endl;
}
else {
cout << S.Delete(w--) << endl;
} } }
return ;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

poj3750-小孩报数问题(约瑟夫环)的更多相关文章

  1. POJ3750: 小孩报数问题+一道经典约瑟夫问题(猴子选大王)

    又一次因为一个小错误,POJ上Wrong Answer了无数次..... 在差不多要放弃的时候,发现了这个猥琐的不能再猥琐的bug,改完了提交就AC了,简直无语.... 本题wo采用模拟方法: 1 # ...

  2. 约瑟夫问题 小孩报数问题poj3750

    小孩报数问题 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15228   Accepted: 6778 Descripti ...

  3. 约瑟夫环问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

    首先,我最大的学习来源不是百度而是我群友~~在这里表白一波我热爱学习的群友们!然后今天群里突然有人提出了题目的这个问题:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出 ...

  4. POJ 3750 小孩报数问题 (线性表思想 约瑟夫问题 数组模拟运算的 没用循环链表,控制好下标的指向就很容易了)

    小孩报数问题 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10423   Accepted: 4824 Descripti ...

  5. Java数据结构之单向环形链表(解决Josephu约瑟夫环问题)

    1.Josephu(约瑟夫.约瑟夫环)问题: 设编号为1,2,… n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m ...

  6. 单向环形链表解决约瑟夫环(Josephus)问题

    一.约瑟夫环问题 Josephu 问题为:设编号为1,2,- n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那 ...

  7. tc 147 2 PeopleCircle(再见约瑟夫环)

    SRM 147 2 600PeopleCircle Problem Statement There are numMales males and numFemales females arranged ...

  8. C++ 约瑟夫环问题

    约瑟夫环比较经典了 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列:依此规律重复下去,直 ...

  9. 约瑟夫环的java解决

    总共3中解决方法,1.数学推导,2.使用ArrayList递归解决,3.使用首位相连的LinkedList解决 import java.util.ArrayList; /** * 约瑟夫环问题 * 需 ...

随机推荐

  1. socket 收发报文小程序

    需要注意,由于是从文件读取,而WINDOWS自带的文本文档程序,亲测对于UTF-8文件会不可见地在文件头多出3个字节.另外回车换行也是不可见字节,需要考虑到. package com.test.com ...

  2. Problem with "AnyConnect was not able to establish connection to the specified secure gateway."

    Cisco的VPN客户端最近报"AnyConnect was not able to establish connection to the specified secure gateway ...

  3. Oracle临时文件

    临时数据文件时一种特殊的文件,当内存不足时,Oracle用他来存储一些临时数据,如排序或散列操作. 自12c起,对临时表的操作所产生的undo也会放到临时表空间中,而在12c之前,这部分undo放在u ...

  4. 比较完整的WebView的用法

    WebView, WebChromeClient和WebViewClient加载网页基本用法 webview是android中的浏览器控件,在一些手机应用中常会用到b/s模式去开发应用,这时webvi ...

  5. 使用简介<EntityFramework6.0>

    序言 在这一篇中,我们将演示EnitityFramework基本的建模[建模也是EntityFramework最核心的特性]范例,例如实体的分离和继承等.我们开始了演示如何创建一个简单的概念模型的例子 ...

  6. ehcache注解全面解析---打酱油的日子

    通过ehcache以编程方式使用缓存: 跟上面的方式相同,但是缓存通过ehcache去管理,当然比使用map有N多种好处,比如缓存太大了快达到上限之后,将哪一部分缓存清除出去.这种方式完全是通过代码的 ...

  7. 『AngularJS』$location 服务

    项目中关于 $location的用法 简介 $location服务解析在浏览器地址栏中的URL(基于window.location)并且让URL在你的应用中可用.改变在地址栏中的URL会作用到$loc ...

  8. Code Lock[HDU3461]

    Code LockTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Subm ...

  9. 【转】apache 二级域名设置完整步骤

    原文链接:http://blog.sina.com.cn/s/blog_5375d76b01014fnt.html 最近在折腾网站二级域名的事情,在网上查了很多零碎的文档,不完整,有些也没有自己验证, ...

  10. QuanbenSoft Windows Runtime (Windows Store)Apps 应用及其框架总览

    Parrot Simple audio repeater for language learners http://www.windowsphone.com/en-au/store/app/parro ...