90分悬关求调!!!
查看原帖
90分悬关求调!!!
965334
1_1_1_1_1_1_楼主2023/8/29 21:25
#include<bits/stdc++.h>

using namespace std;

struct node
{
	int k;//面朝方向
	string name;
};

int n, m;
int now = 1;

int a[100001];
int s[100001];
node e[100001];

void input();
void calcu();

int main()
{
	input();
	calcu();
	cout << e[now].name;
	return 0;
}

void calcu()
{
	int i;
	
	for(i = 1; i <= m; i++)
	{
		if(e[now].k == 0)//朝内
		{
			if(a[i] == 0)//左数
			{
				now = (now + n - s[i]) % n;
			}
			else//右数 
			{
				now = (now + s[i]) % n;
			}
		}
		else//朝外 
		{
			if(a[i] == 0)//左数 
			{
				now = (now + s[i]) % n;
			}
			else//右数 
			{
				now = (now + n - s[i]) % n;
			}
		}
	}
}

void input()
{
	int i, j;
	
	cin >> n >> m;
	for(i = 1; i <= n; i++)
	{
		cin >> e[i].k >> e[i].name;
	}
	for(i = 1; i <= m; i++)
	{
		cin >> a[i] >> s[i];
	}
}
2023/8/29 21:25
加载中...