记录编号 474554 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [NOIP 2016]玩具谜题 最终得分 100
用户昵称 Gravatar据说这是zzy 是否通过 通过
代码语言 C++ 运行时间 0.935 s
提交时间 2017-11-10 09:53:05 内存使用 0.99 MiB
显示代码纯文本
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
using namespace std;
struct abc
{
	string mz;
	bool cx;
	bool zy;
}a[100100];
int b[150000]={0};
int main()
{
	freopen("toya.in","r",stdin);
	freopen("toya.out","w",stdout);
	int n=0,m=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++)//mz是名字cx是朝向
		cin>>a[i].cx>>a[i].mz;
	for(int i=1;i<=m;i++)
		cin>>a[i].zy>>b[i];//b人数zy是左右
	int g=1;
	for(int i=1;i<=m;i++)
	{
		if(!a[g].cx)//0表示朝向圈内,1表示朝向圈外
		{
			if(a[i].zy)//0是左方,1是右方
			{
				if(g+b[i]>n)
					g=(g+b[i])-n;
				else
					g+=b[i];
			}
			else
			{
				if(g-b[i]<1)
					g=n+(g-b[i]);
				else
					g=g-b[i];
					
			}
				
		}
		else
			if(a[i].zy)//0是左方,1是右方
			{
				if(g-b[i]<1)
					g=n+(g-b[i]);
				else
					g=g-b[i];
				
			}
			else
			{
				if(g+b[i]>n)
					g=(g+b[i])-n;
				else
					g+=b[i];
			}
			
	}
	cout<<a[g].mz;
}