題目 《擊鼓傳花》

2021-07-05 12:49:26 字數 1049 閱讀 1546

description

設有n個人圍成乙個圈,每人手裡都握著乙個令牌寫明乙個數字(隨機生成的)。從第乙個人開始玩「擊鼓傳花」遊戲,

第乙個擊的次數為其令牌上寫明的數字數(假設為m1)。第m1個人出列。下次再從第m1+1個人開始新的「擊鼓傳花」

擊的次數也為其令牌上寫明的次數,等於該次數的人出列。重複以上過程直到所有人都出列為止。

input

輸入第一行為測試資料組數。每組測試資料2行,第1行乙個整數n(1<=n<=10000),代表人數,

第2行有n個空格隔開的整數代表mi(1<=mi<=5000)。

output

對每組測試資料輸出2行,第1行為資料組數,第2行為所有人順序出隊的序列,格式見樣例。

sample input

1 5

1 2 3 4 5

sample output

case #1:

2 1 3 4

hint

考察知識點:迴圈鍊錶,時間複雜度o(sum),空間複雜度o(n)

法1:

#include 

#include

using

namespace

std;

typedef

struct nodepeople;

void put_in(deque

&circle)

}int main()

cout

0;}

法2:

#include 

#include

using

namespace

std;

typedef

struct nodepeople;

void put_in(deque

&circle)

}int main()

cout

<" ";

circle.erase(circle.begin() + i);

}cout

0;}

擊鼓傳花 Python

有多少種不同的方法可以使得從小賽手裡開始傳的花,傳了m次以後,又回到小賽手裡。對於傳遞的方法當且僅當這兩種方法中,接到花的同學按接球順序組成的序列是不同的,才視作兩種傳花的方法不同。比如有3個同學1號 2號 3號,並假設小賽為1號,花傳了3次回到小賽手裡的方式有1 2 3 1和1 3 2 1,共2種...

coro學習 擊鼓傳花

這個是協程的經典例子。之前有一篇erlang和stackless比較的文章有詳細介紹。用perl的coro實現了一下。程式沒有很好地優化架構,不過便於閱讀。usr bin env perl coro測試程式testcoro11.pl perl版的擊鼓傳花 erlang和stackless的經典例子 ...

動態規劃 擊鼓傳花

擊鼓傳花 題目描述 學校聯歡晚會的時候,為了使每乙個同學都能參與進來,主持人常常會帶著同學們玩擊鼓傳花的遊戲。遊戲規則是這樣的 n個同學坐著圍成乙個圓圈,指定乙個同學手裡拿著一束花,主持人在旁邊背對著大家開始擊鼓,鼓聲開始之後拿著花的同學開始傳花,每個同學都可以把花傳給自己左右的兩個同學中的乙個 左...