65分 T3点W3点 求调
查看原帖
65分 T3点W3点 求调
545516
Habseligkeit楼主2022/10/11 18:19
#include<bits/stdc++.h>
using namespace std;
const int MAXN = 100010;

int n , m;
struct person{
	string name;
	int lorr , l , r;
}a[MAXN];

int main(){
	scanf("%d%d" , &n , &m);
	for(int i = 1; i <= n; i ++){
		scanf("%d " , &a[i].lorr);
		getline(cin , a[i].name);
		if(a[i].lorr == 0){
			a[i].l = i - 1;
			a[i].r = i + 1;
			if(a[i].l < 1) a[i].l += n;
			if(a[i].r > n) a[i].r %= n;
		}
		if(a[i].lorr == 1){
			a[i].l = i + 1;
			a[i].r = i - 1;
			if(a[i].l > n) a[i].l %= n;
			if(a[i].r < 1) a[i].r += n;
		}
	}
	int now = 1 , b , s;
	for(int i = 1; i <= m; i ++){
		scanf("%d%d" , &b , &s);
		for(int j = 1; j <= s; j ++){
			if(b == 0) now = a[now].l;
			if(b == 1) now = a[now].r;
		}
	}
	cout << a[now].name << endl;
	return 0;
}
2022/10/11 18:19
加载中...