运行问题,求助

P1563 [NOIP2016 提高组] 玩具谜题

``` #include<bits/stdc++.h> using namespace std; struct xr { string job;//职业 int nw;//内外 }a[10000000]; int main(){ //正常输入 int n,m; cin>>n>>m; for(int i=1;i<=n;i++) { cin>>a[i].nw>>a[i].job; } //当前这个人的下标 int now=1; //内:左-1,右+1;外:左+1,右-1 for(int i=1;i<=m;i++) { int fx,len; cin>>fx>>len; //根据首末跳跃数组收尾 if(now<1)now=n-(0-now); if(now>n)now=now%n; //根据方向和内外判断 if(a[now].nw==0) { if(fx==0)now-=len; if(fx==1)now+=len; } else if(a[now].nw==1) { if(fx==0)now+=len; if(fx==1)now-=len; } //根据首末跳跃数组收尾(可以只用一次 if(now<1)now=n-(0-now); if(now>n)now=now%n; } //正常输出 cout<<a[now].job; return 0; } ``` 按理来说,你的输入应该没问题
by Max6700 @ 2023-09-10 13:58:42


|