终于,RE变成了WA
```cpp
#include<bits/stdc++.h>
using namespace std;
struct p{
bool q;
char n[50];
}ps[100005];
struct o{
bool q;
int s;
}op[100005];
int main()
{
int n,m,ap=1;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
scanf("%d%s",&ps[i].q,&ps[i].n);
for(int i=1;i<=m;i++)
scanf("%d%d",&op[i].q,&op[i].s);
for(int i=1;i<=m;i++)
ap=(ap+(ps[ap].q==op[i].q?op[i].s:-op[i].s))>n?(ap+(ps[ap].q==op[i].q?op[i].s:-op[i].s))%n:(ps[ap].q==op[i].q?op[i].s:-op[i].s)<1?(ps[ap].q==op[i].q?op[i].s:-op[i].s)+n:(ps[ap].q==op[i].q?op[i].s:-op[i].s);
printf("%s",ps[ap].n);
return 0;
}
```
by CHIMPANCAKE @ 2023-05-16 20:55:31
```cpp
#include<bits/stdc++.h>
using namespace std;
struct node{
string name;
bool dir;
}a[100001];
long long n,m,now=1;
void fun(int di,int num)
{
num%=n;
if(di==1)
now+=num;
else
now-=num;
if(now>n)
while(1)
{
now-=n;
if(now<=n&&now>0)
break;
}
else if(now<=0)
while(1)
{
now+=n;
if(now>0&&now<=n)
break;
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i].dir>>a[i].name;
for(int i=1;i<=m;i++)
{
int nbir,nnum;
cin>>nbir>>nnum;
if((nbir==0&&a[now].dir==0)||(nbir==1&&a[now].dir==1))
fun(-1,nnum);
else
fun(1,nnum);
}
cout<<a[now].name;
return 0;
}
/*
0+0||1+1 向+方向数
1+0||0+1 向-方向数
*/
```
AC
by wangjiawen @ 2023-05-16 21:20:04