比赛 |
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;
}