求助
查看原帖
求助
303739
winsonW楼主2023/11/12 18:48
#include <bits/stdc++.h>
using namespace std;
int n, m, nown = 1/*玩具下标*/;
struct toys
{
	int toward/*玩具朝向*/;
	string name;
}a[100015];
void now(int about, int number)
{
	/*toward = 0表示朝向圈内,= 1表示朝向圈外*/
	/*about = 0朝左数,= 1朝右数*/ 
	if(a[nown].toward == 0)
	{
		if(about == 0)
		{
			nown -= number;
		}
		if(about == 1)
		{
			nown += number;
		}
	}
	if(a[nown].toward == 1)
	{
		if(about == 0)
		{
			nown += number;
		}
		if(about == 1)
		{
			nown -= number;
		}
	}
}
int main()
{
	cin >> n >> m;
	for(int i = 1; i <= n; i++)
	{
		cin >> a[i].toward >> a[i].name;
	}
	for(int i = 1; i <= m; i++)
	{
		int x, y;
		cin >> x >> y;
		now(x, y);
		if(nown <= 0)
		{
			nown += n;
		}
	}
	cout << a[nown].name;
	return 0;
}

为什么过不了啊,求助大佬

2023/11/12 18:48
加载中...