如下是代码,通过结构体来解决:
#include <iostream>
#include <string>
using namespace std;
int n,now = 0;
struct man{
int facing;
string name;
public:
void setinfo(int a,string n){
facing = a;
name = n;
}
int getfacing(){
return facing;
}
string getname(){
return name;
}
};
int add(int b){
if(now + b < 0){
now = now+n+b;
}
else if(now + b>=n){
now = now -n + b;
}
else{
now +=b;
}
}
int main(){
int op,fac;
string nam;
cin>>n>>op;
man cir[n];
for(int i=0;i<n;i++){
cin>>fac>>nam;
cir[i].setinfo(fac,nam);
}
int op_fac,op_c;
for(int i=0;i<op;i++){
cin>>op_fac>>op_c;
if(op_fac==cir[now].getfacing()){
add(op_c*(-1));
}
else{
add(op_c);
}
}
cout<<cir[now].getname();
}
给的样例能过,下载的第一个输入输出也是对的,但是交上去之后每一个都是RE,为什么啊T_T