求教,为什么改完就AC了
查看原帖
求教,为什么改完就AC了
250609
_pwl楼主2020/9/26 20:29

原代码:

#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
struct Node{
    bool toward;
    string name;
}map[100001];
inline void read(int &x){
    int f=1;
    char ch=getchar();
    x=0;
    while(ch<'0'||ch>'9'){
        if(ch=='-') f=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=x*10+ch-'0';
        ch=getchar();
    }
    x*=f;
}
int n,m;
int main(){
    read(n);read(m);
    for(int i=1;i<=n;i++) cin>>map[i].toward>>map[i].name;
    int pos=1;
    int a,b;
    for(int i=1;i<=m;i++){
        cin>>a>>b;
        if(map[pos].toward==0&&a==0) pos=(pos+n-b)%n;
        else if(map[pos].toward==0&&a==1) pos=(pos+b)%n;
        else if(map[pos].toward==1&&a==0) pos=(pos+b)%n;
        else if(map[pos].toward==1&&a==1) pos=(pos+n-b)%n;
    }
    cout<<map[pos].name;
    return 0;
}

for(int i=1;i<=n;i++) cin>>map[i].toward>>map[i].name;
int pos=1;

改成

for(int i=0;i<n;i++)cin>>map[i].toward>>map[i].name;
int pos=0;

就AC了,求教

2020/9/26 20:29
加载中...