求助.orz
查看原帖
求助.orz
540872
z_yk楼主2023/1/14 21:56

我|蒟蒻 的代码和对于 我|蒟蒻 的代码的解释和测试点情况都写在代码里了,求助.qwq

#include<iostream>

using namespace std;

struct event
{
	int way;
	int step;
};
struct position
{
	bool toward;
//朝向
//true->toward to incircle;
//false->toward to outcircle;
	string name;
}toy[10001];
int n,m;
int ans=1;//结果为toy[ans].name

void chushi()//初始化,初始每个玩具的职业和名字 
{
	int num;
	string job;
	for(int i=1;i<=n;i++)
	{
		cin>>num>>job;
		
		toy[i].name=job;//职业的初始
		
		//下面是朝向的初始 
		if(num==1)//圈外,false
		{
			toy[i].toward=false;
		}
		else//圈内,true 
		{
			toy[i].toward=true;
		}
	}
}

int main()
{
	
	cin>>n>>m;
	chushi();
	while(m--)
	{
		event a;
		cin>>a.way>>a.step;
		if(a.way==0)//向左
		{
			if(toy[ans].toward==false)//朝圈外
			{
				for(int i=1;i<=a.step;i++)
				{
					ans++;
					if(ans==n+1)
					{
						ans=2;//可能有问题 
					}
				}
			} 
			else if(toy[ans].toward==true)//朝圈内
			{
				for(int i=1;i<=a.step;i++)
				{
					ans--;
					if(ans==0)
					{
						ans=n-1;//可能有问题 
					}
				}
			}
		}
		else if(a.way==1)//向右 
		{
			if(toy[ans].toward==false)//朝圈外 
			{
				for(int i=1;i<=a.step;i++)
				{
					ans--;
					if(ans==0)
					{
						ans=n-1;//可能有问题 
					}
				}
			} 
			else if(toy[ans].toward==true)//朝圈内
			{
				for(int i=1;i<=a.step;i++)
				{
					ans++;
					if(ans==n+1)
					{
						ans=2;//可能有问题 
					}
				}
			}
		}
	}
	cout<<toy[ans].name; 
	return 0;
}
//AC:#12#14#15
//RE:#9#10#11#13
//WA:#1#2#3#4#5#6#7#8#9#16#17#18#19#20 

呜,长时间不刷题变屑了

2023/1/14 21:56
加载中...