比赛 20190908之惊鸿 评测结果 AAAAAAAAAAAAAAAAEEEE
题目名称 玩具谜题 最终得分 80
用户昵称 李俊辉 运行时间 0.851 s
代码语言 C++ 内存使用 15.19 MiB
提交时间 2019-09-09 21:09:57
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
typedef struct
{
	string name;
	int d;//方向
} man;
man mann[100001];
int main()
{
	freopen("toya.in","r",stdin);
	freopen("toya.out","w",stdout); 
	int n,zl;
	int i;
	scanf("%d%d",&n,&zl);
	for(i=1; i<=n; i++)
	{
		cin>>mann[i].d>>mann[i].name;
	}
	mann[n+1].d=mann[1].d;
	mann[n+1].name=mann[1].name;
	//printf("i=%d\n",i);
	//cout<<endl;
	/*for(i=1;i<=n+1;i++)
	{
		cout<<i<<" "<<mann[i].d <<mann[i].name<<endl;
	}*/
	int de,peo;//方向,人数
	int j=1,j2=1;
	for(int k=1; k<=zl; k++)
	{
		scanf("%d%d",&de,&peo);
		if(de==0)//左
		{
 
			if(mann[j].d ==0)
			{
				
				j2-=peo;
				if(j2<=0)
				{
					j+=n;//cout<<"j="<<j<<"n="<<n<<endl;
					j-=peo;
					j2=j;
					
				}
				j=j2;
			}
			else
			{
				j2+=peo;
				if(j2>n)
				{
					j2-=n;
				}
				j=j2;
			}	
			//cout<<j<<"-"<<mann[j].d*peo;
			//cout<<"="<<j<<endl;
		}
		if(de==1)//右
		{
 
			if(mann[j].d ==0)
			{
				j2+=peo;
				if(j2>n)
				{
					j2-=n;
				}
				j=j2;
			}
			else
			{
				j2-=peo;
				if(j2<=0)
				{
					j+=n;
					j-=peo;
					j2=j;
				}
				j=j2;
			}
			
			//cout<<j<<"-"<<mann[j].d*peo;
			//cout<<"="<<j<<endl;
		}
	}
	cout<<mann[j].name <<endl;
	return 0;
}