回复一下自己吧,咋说呢,看了看别人代码以及讨论,懂了一点
```cpp
#include<iostream>
#include<cstdlib>
#include<ctime>
#include<cstdio>
#include<cmath>
#include<string>
#include<fstream>
using namespace std;
int main()
{
int m,n;
bool fa[100004],fb[100004];
int renb[100004];
char rena[100004][11];
char em[11]={0000000000};
cin>>m>>n;
int i;
for(i=0;i<m;i++)
{
cin>>fa[i];
cin>>em;
string q=em;
for(int k=0;k<q.length();k++)
{
rena[i][k]=em[k];
em[k]='0';
}
}
for(i=0;i<n;i++)
{
cin>>fb[i];
cin>>renb[i];
}
int qm=0;
for(i=0;i<n;i++)
{
if(fb[qm]==0&&fa[qm]==0)qm-=renb[i];
else if(fb[qm]==1&&fa[qm]==0)qm+=renb[i];
else if(fb[qm]==0&&fa[qm]==1)qm+=renb[i];
else qm-=renb[i];//这里用elseif,不然可能值会变化...就错在这里了,但还是有问题,请指正
if(qm<0)
qm=m+qm;
if(qm>=m)
qm=qm-m;
}
//cout<<qm;
for(i=0;rena[qm][i]!=0||i<10;i++)
cout<<rena[qm][i];
return 0;
}
```
by Yzmddsw @ 2021-11-04 17:43:14