我看了其他的95分WA第四个点的讨论贴,基本上都是n<=0误写成了n<0,我据此改过了这个问题,但第四个测试点仍无法通过。希望能有大佬指教。
如下是代码
#include <iostream>
#include <cstring>
using namespace std;
bool a[100000+10];
char name[100000+10][10];
bool check(bool a,bool b)//true +,逆时针,外左(01),
{
if(a&&b)
{return false;}
if((!a)&&(!b)) {return false;}
return true;
}
int main()
{
int num=1;
int m,n;
scanf("%d %d",&n,&m);
for(int i =1;i<=n;i++)
{
int c;
scanf("%d",&c);
if(c==1)
{
a[i]=true;
}
else
{
a[i]=false;
}
scanf("%s",name[i]);
}
for(int i =1;i<=m;i++)
{
int a1,a2;
bool fuck=false;
scanf("%d %d",&a1,&a2);
if(a1==1) fuck=true;
if(check(a[num],fuck))//+ 为逆时针
{
num+=a2;
}
else
{
num-=a2;
}
/*while(num<=0||num>n)
{
if(num>0) num%=n;
if(num<=0) num+=n;
}*/
/*
while(num>n){
num-=n;
}
while(num<1){
num+=n;
}*/
while(num<=0)num+=n;
while(num>n)num-=n;
}
printf("%s",name[num]);
return 0;
}