aoj493幸運的中獎者
**是件很**人的事情,主要考驗人的rp。現在我們來玩乙個**的遊戲。有n個**者,他們站成乙個圈,給定乙個由m個整數構成的序列a。現在從第乙個人開始報數,第乙個人數1,第二個人數2…..當報到a1時,那個人就被淘汰,然後淘汰者的下乙個人從1開始報數…當數到第n個人以後,又從第乙個人繼續報,當誰數到a2時,誰就被淘汰。剩下的人又繼續數……如果序列a裡面取到最後乙個數am時,又取a1作為新一輪淘汰的數,依次迴圈。最後乙個剩下來的人就是中獎的人。
比如現在有5個人,有3個整數構成的序列2,4,7
剛開始時:1,2,3,4,5(將要淘汰的報數2,即a1)
第一次後:1,3,4,5(序號為2的人報了2,所以被淘汰,接著從序號為3的人開始報數,將要淘汰的報數為4,即a2)
第二次後:3,4,5(序號為1的人報了4,所以被淘汰,接著從序號為3的人開始報數,將要淘汰的報數為7,即a3)
第三次後:4,5(序號為3的人報了7,所以被淘汰,接著從序號為4的人開始報數,將要淘汰的報數為2,又從頭來取a1)
第四次後:4(序號為5的人報了2,所以被淘汰,4號為中獎者)
假如現在你是其中之一,你會站到哪個位置,讓自己中獎呢?
input
第1行:兩個整數n和m(2≤n≤100,1≤m≤10),由空格分開。
第2行:m個整數,以空格分開,代表被淘汰的序列a(1≤ai≤50)。
output
行1:乙個整數,即中獎者的初始編號(位置)
sample input
original transformed
5 3
2 4 7
5[sp]3[eol] 2[sp]4[sp]7[eol] [eof]
sample output
original transformed
**:
#includeint main()
,str2[105]=;
while(scanf("%d%d",&n,&m)!=eof)
for(i=1;i<=m;i++)
i=0;
j=1;
x=1;
y=1;
z=n;
while(1)
str1[k+1]=0;
if(z==1)
if(y>=z+1)y=1;
}else
}}return 0;
幸運的袋子
乙個袋子裡面有n個球,每個球上面都有乙個號碼 擁有相同號碼的球是無區別的 如果乙個袋子是幸運的當且僅當所有球的號碼的和大於所有球的號碼的積。例如 如果袋子裡面的球的號碼是,這個袋子就是幸運的,因為1 1 2 3 1 1 2 3 你可以適當從袋子裡移除一些球 可以移除0個,但是別移除完 要使移除後的袋...
幸運的袋子
乙個袋子裡面有n個球,每個球上面都有乙個號碼 擁有相同號碼的球是無區別的 如果乙個袋子是幸運的當且僅當所有球的號碼的和大於所有球的號碼的積。例如 如果袋子裡面的球的號碼是,這個袋子就是幸運的,因為1 1 2 3 1 1 2 3 你可以適當從袋子裡移除一些球 可以移除0個,但是別移除完 要使移除後的袋...
幸運的袋子
乙個袋子裡面有n個球,每個球上面都有乙個號碼 擁有相同號碼的球是無區別的 如果乙個袋子是幸運的當且僅當所有球的號碼的和大於所有球的號碼的積。例如 如果袋子裡面的球的號碼是,這個袋子就是幸運的,因為1 1 2 3 1 1 2 3 你可以適當從袋子裡移除一些球 可以移除0個,但是別移除完 要使移除後的袋...