用户名好评(
by Mysterious_Mini @ 2021-08-14 09:56:10
@[推翻暴政](/user/448555) 你这是硬模拟,复杂度是O(n*m),肯定会t。 最好直接用数组存每个人的信息(从下标0开始存),从i向右数nu个就是(i+nu)%n,这样复杂度是O(n)。
by 幽理家的男人 @ 2021-08-14 10:09:05
```cpp
#include<iostream>
#include<string>
using namespace std;
struct toy
{
int dir;
string name;
}a[100001];
int n,m,x,y,now,i;
int main()
{
cin>>n>>m;
for(i=0;i<n;i++)
{
cin>>a[i].dir>>a[i].name;
}
now=0;
for(i=1;i<=m;i++)
{
cin>>x>>y;
if(a[now].dir==0&&x==0)
{
now=(now+n-y)%n;
}
else if(a[now].dir==0&&x==1)
{
now=(now+y)%n;
}
else if(a[now].dir==1&&x==0)
{
now=(now+y)%n;
}
else if(a[now].dir==1&&x==1)
{
now=(now+n-y)%n;
}
}
cout<<a[now].name<<endl;
return 0;
}
```
by claunflsh @ 2021-08-14 12:11:25
@[幽理家的男人](/user/292029) 谢谢大佬!
by 推翻暴政 @ 2021-08-14 15:06:01
@[Mysterious_Mini](/user/476150) 嘿嘿(
by 推翻暴政 @ 2021-08-14 15:06:23
@[三日连珠xcy](/user/455643)
@推翻暴政你咋不说谢谢这位
------------
# ~~** _大佬_ **~~
by QB饕餮 @ 2021-08-22 20:52:44