家人们 为什么跑不了
查看原帖
家人们 为什么跑不了
402229
Achenfeng楼主2023/8/24 14:35
#include<iostream>
#include<cstring>
using namespace std;
struct man
{
	bool face;
	string name;
};
struct step
{
	bool dir;
	int num;
};
int main()
{   
	int n, m;
	cin >> n >> m;
	string name1;
	int a = 0;
	man arr1[100000];
	step arr2[100000];
	for (int i = 0; i < n; i++)
	{
		cin >> arr1[i].face >> arr1[i].name;
	}
	for (int i = 0; i < m; i++)
	{
		cin >> arr2[i].dir >> arr2[i].num;
	}
	for (int i = 0; i < m; i++)
	{
		if (arr1[a].face==0)
		{
			if (arr2[i].dir == 0)
			{
				name1 = arr1[(a + arr2[i].num % n)%n].name;
				a = (a + arr2[i].num % n) % n;
			}
			else
			{
				name1 = arr1[(a + n - arr2[i].num % n) % n].name;
				a = (a + n - arr2[i].num % n) % n;
			}
		}
		else
		{
			if (arr2[i].dir == 1)
			{
				name1 = arr1[(a + arr2[i].num % n)%n].name;
				a = (a + arr2[i].num % n) % n;
			}
			else
			{
				name1 = arr1[(a + n - arr2[i].num % n) % n].name;
				a = (a + n - arr2[i].num % n) % n;
			}
		}
	}
	cout << name1 << endl;
	return 0;
}
2023/8/24 14:35
加载中...