题目链接:
#include <iostream> //常用开头模板,保存在文档,下次直接用
#include <algorithm>
#include <cstring>
#define sx first
#define sy second
using namespace std;
typedef long long LL;
typedef pair<int,string>PII;
const int N=100010;
int dx[]={1,-1,0,0}; //常用开头模板,保存在文档,下次直接用
int dy[]={0,0,1,-1};
int n,m;
PII g[N];
// 规律 0,0 1,1 都是顺时针走,不同为逆时针走;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>g[i].sx>>g[i].sy;
}
if(n==1)
{
cout<<g[1].sy;
return 0;
}
int cnt=1;//记录每一步走到的小人位置;
for(int i=0;i<m;i++)
{
int x,y;
cin>>x>>y;
int t=g[cnt].sx;
if(x==t)
{
cnt=cnt-y;
if(cnt<1)cnt+=n; //位移量n;
}
else
{
cnt=cnt+y;
if(cnt>n)cnt-=n;
}
}
cout<<g[cnt].sy;//输出最后的位置;
return 0;
}