小孩報數問題 poj 3750

2021-06-17 18:13:05 字數 847 閱讀 5452

description

有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列(總人數不足s個時將迴圈報數),求小孩出列的順序。

input

第一行輸入小孩的人數n(n<=64) 

接下來每行輸入乙個小孩的名字(人名不超過15個字元) 

最後一行輸入w,s (w < n),用逗號","間隔

output

按人名輸出小孩按順序出列的順序,每行輸出乙個人名

sample input

5

xiaoming

xiaohua

xiaowang

zhangsan

lisi

2,3

sample output

zhangsan

xiaohua

xiaoming

xiaowang

lisi

#include#includeusing namespace std;

int main()

{ int n;

cin>>n;

string name[100];

int p[100];

for(int i=0;i>name[i];

for(int i=0;i>w>>c>>s;

w=(w+n-1)%n;

while(n)

{w=(w+s-1)%n;

cout《本題是經典的約瑟夫問題的例項,不利用鍊錶,利用陣列可以很方便地解決這個問題。

poj 3750小孩報數問題

description 有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列 總人數不足s個時將迴圈報數 求小孩出列的順序。input 第一行輸入小孩的人數n n 64 接下來每行...

poj 3750 小孩報數問題

小孩報數問題 time limit 1000ms memory limit 65536k total submissions 12616 accepted 5740 description 有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩...

poj 3750小孩報數問題

description 有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列 總人數不足s個時將迴圈報數 求小孩出列的順序。input 第一行輸入小孩的人數n n 64 接下來每行...