這一題和之前在c語言網上的一題很相似,迴圈報數,傳送門:
(演算法練習)——迴圈報數問題
迴圈報數問題要求:
1、給定數字是3,到3就出隊,看最後剩下的人編號
2、這是迴圈報數,即1,2,3,1,2,3這樣報數
本題要求:
1、任給學生人數、數字,這個很好辦,因為計算方式都是一樣的
2、這是人數迴圈,但數字不迴圈,即在有限的人裡,1,2,3,4,5這樣依次報數下去
處理方式:
這種問題用佇列真的非常方便,不同之處在於,這一題的佇列有標記的功能,即學生就這麼多人,他們是不斷重複報數的,如果這個人報的數不會被舍,那個這個人的佇列數字就放到隊尾,如果被舍了,這個人的佇列數字直接出隊,在這個過程中,增加乙個cnt (初始為1),每次++,就可以了
經過最近對ccf1,2題的練習,感覺ccf的第二題似乎傾向於棧、佇列、hash表這些的使用
ac**:
#include
#include
#include
using
namespace std;
intmain()
while
(!q.
empty()
)else
else
} cnt++
;//cnt每次+1
}return0;
}
201712 2 遊戲(模擬)
include include include using namespace std intmain 方法一 使用標誌位 單獨設定偏移量offset,而不用報的數確定下標offset的原因 報的數num增加是有條件的,而偏移量是在每次迴圈遍歷的過程中都要無條件增加的 int num 0 int c...
ccf認證 201712 2 遊戲
題目 問題描述 有n個小朋友圍成一圈玩遊戲,小朋友從1至n編號,2號小朋友坐在1號小朋友的順時針方向,3號小朋友坐在2號小朋友的順時針方向,1號小朋友坐在n號小朋友的順時針方向。遊戲開始,從1號小朋友開始順時針報數,接下來每個小朋友的報數是上乙個小朋友報的數加1。若乙個小朋友報的數為k的倍數或其末位...
python實現 201712 2 遊戲
試題編號 201712 2 試題名稱 遊戲 時間限制 1.0s 記憶體限制 256.0mb 問題描述有n個小朋友圍成一圈玩遊戲,小朋友從1至n編號,2號小朋友坐在1號小朋友的順時針方向,3號小朋友坐在2號小朋友的順時針方向,1號小朋友坐在n號小朋友的順時針方向。遊戲開始,從1號小朋友開始順時針報數,...