close
內容
kevin 身為工具人 + 一日隊輔
一定要帶給隊員們最大的娛樂
所以他帶了一個活動 叫 盲人摸象
一開始 n 個人站成一列
編號為 1 ~ n
每次 kevin 都會叫編號 k 的人 把他後面的人殺掉
但是... 人實在太多了 0u0
隊伍蔓延了 1公里多
而kevin視力很差 看不了那麼遠
所以請你告訴 kevin 被殺掉的是誰
如果 這個這個人已經死了 or 他是最後一個人
請輸出 "0u0 ...... ?"
輸入說明
輸入的第一行 有2個整數 n, m (1 <= n, m <= 10 ^ 6)
代表有 n 個人 站成一排 編號為 1~n
接下來一行有 m 個數字 k1 k2 ... km (1 <= k <= n)
代表 kevin 要殺掉 第k個人的下一個人
輸出說明
每次輸出被殺掉的人的編號
如果不合法 輸出"0u0 ...... ?"
C++
#include <iostream> using namespace std; int main() { int n,m; while(cin>>n>>m)//輸入人數及殺人次數 { int k[n+1]={0}; for(int i =0;i<n;i++)//陣列編號 { k[i]=i+1; } while(m--) { int kill; scanf("%d",&kill); for(int i =kill-1;i<n;i++)//執行指令 { if(k[kill-1]==0)//確認有沒有這個人 { cout<<"0u0 ...... ?"; break; } else if(k[i+1]>0)//有下一個人 { cout<<k[i+1]; k[i+1]=0; break; } else if(i+1>=n)//沒下一個人 { cout<<"0u0 ...... ?"; break; } } cout<<"\n"; } } return 0; }
全站熱搜