#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <cmath>
#include <cstring>
using namespace std;
bool face[100001];
char name[100001][10];
int read() {
int x = 0, w = 1;
char ch = 0;
while (ch < '0' || ch > '9') {
if (ch == '-') w = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9') {
x = x * 10 + (ch - '0');
ch = getchar(); }
return x * w;
}
int main(){
int n,m;
n=read();
m=read();
for(int i=0; i<n; i++){
face[i]=read();
scanf("%s",name[i]);
}
bool right;
int number;
int answer=0;
int direction=1;
for(int i=0;i<m;i++){
direction=1;
right=read();
number=read();
if(face[answer]==1)direction*=-1;
if(right==0)direction*=-1;
answer+=direction*number;
if(answer<0)answer+=n;
answer%=n;
}
printf("%s",name[answer%n]);
return 0;
}
一开始写的时候下标就是从0开始的
扔洛谷ide里输入#4数据运行,output是对的
但是为什么会wa呢
求大佬救救