还没输入就弹出一个“已停止工作”的窗口,是不是因为它接受不了5.14MB的内存?
#include"iostream"
#include"string"
using namespace std;
bool xorn(bool a,bool b){
return a!=b?1:0;
}
int mod(int a,int n){
int t=a;
if(a<0)
while(t<0)
t+=n;
else if(a>=n)
t%=n;
return t;
}
struct people{
string job;
bool dir;
};
struct order{
bool dir;
int num;
};
int main(void){
int n,m,p=0;//p储存最终位置
people a[100000];
order b[100000];
cin>>n>>m;
for(int i=0;i<n;i++)
cin>>a[i].dir>>a[i].job;
for(int i=0;i<m;i++)
cin>>b[i].dir>>b[i].num;
for(int i=0;i<m;i++){
bool t=xorn(b[i].dir,a[p].dir);
if(t)
p+=b[i].num;
else
p-=b[i].num;
p=mod(p,n);
}
cout<<a[p].job;
return 0;
}