【題解/2016提高】P1563 玩具謎題

https://www.luogu.org/problem/show?pid=1563

傳說中的膜題,對策是模擬。

//<<mogician & mengbier>>  (NOIP2016) Accepted By Danger
#include<iostream>
#include<string>
using namespace std;
	bool xrdrct[1000010]; //小人方向
	bool zldrct[1000010]; //指令方向
	string occu[1000010]; //職業字符串,這裏用流來輸入輸出
	int s[1000010];
int main(void)
{
	int i,j,n,m;
    cin>>n>>m;
	for (i=1;i<=n;i++)
    cin>>xrdrct[i]>>occu[i];
	for (i=1;i<=m;i++)
    cin>>zldrct[i]>>s[i];
	j=1; //初始化小人位置,賣個萌
	for (i=1;i<=m;i++)
	{
		if (xrdrct[j]==zldrct[i]) //如果方向相同
		{
			j=j-s[i];         //逆序行動
			if (j<=0) j=j+n; //修復這個環
		}
		else
		{
			j=j+s[i];        //方向不相同,正序行動
			if (j>n) j=j-n;  //修復這個環
		}
	}
	cout<<occu[j];
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章