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;
}

 
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 豪CO 的頭像
    豪CO

    程式道路,必為豐富

    豪CO 發表在 痞客邦 留言(0) 人氣()