比赛 20190908之惊鸿 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 玩具谜题 最终得分 100
用户昵称 Harry Potter 运行时间 0.506 s
代码语言 C++ 内存使用 15.76 MiB
提交时间 2019-09-18 21:21:27
显示代码纯文本
    #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;
    }