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