description
有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列(總人數不足s個時將迴圈報數),求小孩出列的順序。
input
第一行輸入小孩的人數n(n<=64)
接下來每行輸入乙個小孩的名字(人名不超過15個字元)
最後一行輸入w,s (w < n),用逗號」,」間隔
output
按人名輸出小孩按順序出列的順序,每行輸出乙個人名
#include
#include
#include//名字得用到字串
using
namespace
std;
queue
q;int n,w,s;
char ch; //那個出入的逗號
string str[65];
int main()
cin>>w>>ch>>s;
for(int i=w;i<=n;i++)
for(int i=1;i//其實也就浪費了o(n)的時間,與 邊讀入邊入隊 是一樣的
while(!q.empty())
q.push(q.front());//入隊並出隊,即參加下一輪的迴圈
q.pop();}}
}
小孩報數問題
description 有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列 總人數不足s個時將迴圈報數 求小孩出列的順序。input 第一行輸入小孩的人數n n 64 接下來每行...
小孩報數問題
約瑟夫環佇列實現 有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列 總人數不足s個時將迴圈報數 求小孩出列的順序。input 第一行輸入小孩的人數n n 64 接下來每行輸入乙...
小孩報數問題
約瑟夫環 有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列 總人數不足s個時將迴圈報數 求小孩出列的順序。input 第一行輸入小孩的人數n n 64 接下來每行輸入乙個小孩的...