有n個人圍成一圈,按順時針給他們編號為1-n。緊接著,指定編號為m的人開始報數,報數按順時針進行。
報到d的人出列,下乙個人重新開始報數。按此規律,每次報到d的人都出列。
要求同學程式設計求出出列的順序。
輸入包括多組測試用例。對於每組用例,第一行是乙個整數n,表示人數。n<100。
接下來n行是每個人的人名。人名為長度不超過20連續字串。
最後是以兩個以","分割的整數m,d。代表從m個人開始,每報d個數出列。
輸出所求的順序
sample input寫的有點凌亂,有改進的再上傳8zhao
qian
sunli
zhou
wuzheng
wang
4,4sample output
zheng
sunwang
zhou
liwu
qian
zhao
#include
#include
using
namespace std;
intmain()
cin>>m;
getchar()
; cin>>d;
for(
int i=
1;i<=m-
1;i++
)while
(q.empty()
!=1) p=q.
front()
; q.
pop();
cout
}
迴圈報數(佇列版)
有 nn n 個小朋友做遊戲,他們的編號分別是 1,2,3.n1,2,3.n1,2,3.n。他們按照編號從小到大依次順時針圍成乙個圓圈,從第乙個小朋友開始從 11 1 報數,依次按照順時針方向報數 加一 報 mm m 的人會離開隊伍,然後下乙個小朋友會繼續從 11 1 開始報數,直到只剩乙個小朋友為...
佇列實現報數遊戲
問題描述 有m個人,從1到m編號,按照編號順序圍成一圈。從第乙個人開始報數 從1報到n 凡報到n的人退出圈子。然後下乙個小朋友會繼續從 1 開始報數,直到只剩乙個人為止 問 最後留下的人的編號是幾號。具體方法 的注釋已經很詳細了。開乙個佇列不斷刪除,很簡單,稍微想一下或畫個草圖就ok了 includ...
佇列應用1 求解報數問題
1 問題描述 n個人從左向右編號1 n,然後從左向右報數 1,2,1,2,1,2.數到1的人出隊,數到2的人立即站到佇列的最右端 繼續報數,直到所有人出列 2 資料組織 使用順序佇列 3 設計演算法 1.全部入隊 2.出隊乙個,輸出編號 3.若佇列不為空,再出隊乙個元素,並將剛出列的元素進隊到隊尾 ...