小孩報數問題
time limit:1000ms
memory limit:65536k
total submissions:12616
accepted:5740
description
有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列(總人數不足s個時將迴圈報數),求小孩出列的順序。
input
第一行輸入小孩的人數n(n<=64)
接下來每行輸入乙個小孩的名字(人名不超過15個字元)
最後一行輸入w,s (w < n),用逗號","間隔
output
按人名輸出小孩按順序出列的順序,每行輸出乙個人名
sample input
5sample outputxiaoming
xiaohua
xiaowang
zhangsan
lisi
2,3
zhangsansourcexiaohua
xiaoming
xiaowang
lisi
專門練了一下,雙向迴圈鍊錶,當然直接暴力也行;
#include#include#include#include#includeusing namespace std;
string s[65];
struct node
;node* create(int n)
temp->rear=head;
head->front=temp;
return head;
}node* move(node* p,int step)
int main()
scanf("%d,%d",&w,&s);
temp=move(head,w);
while(temp->rear!=temp)
{temp=move(temp,s);
cout description 有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列 總人數不足s個時將迴圈報數 求小孩出列的順序。input 第一行輸入小孩的人數n n 64 接下來每行... description 有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列 總人數不足s個時將迴圈報數 求小孩出列的順序。input 第一行輸入小孩的人數n n 64 接下來每行... description 有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列 總人數不足s個時將迴圈報數 求小孩出列的順序。input 第一行輸入小孩的人數n n 64 接下來每行...小孩報數問題 poj 3750
poj 3750小孩報數問題
poj 3750小孩報數問題