noip2016 day1T1题解

来源:互联网 发布:java什么是反射 编辑:程序博客网 时间:2024/06/02 03:38

noip的模拟水题,不多说(比赛的时候没有注意细节扣了25分)

处理好向左还是右

如果是存的1–n,注意n%n是0而不n(0–n-1就没有这个问题)

代码

#include<cstdio>#include<iostream>using namespace std;const int MAX=120000;inline int readInt(void){    int num=0;char c=getchar();    while(!(c>='0'&&c<='9')) {c=getchar();}    while(c>='0'&&c<='9') {num=num*10+c-'0';c=getchar();}    return num;}//int n,m;string t[MAX+10];int d[MAX+10];//int cur;void read(void);void solve(void);int main(){    read();    solve();    return 0;}void read(void){    n=readInt();m=readInt();    for(int i=0;i<n;i++){        cin>>d[i]>>t[i];    }}void solve(void){    cur=0;    int s,r;    for(int i=0;i<m;i++){        cin>>s>>r;             if(s==0&&d[cur]==0) cur=(cur+n-r)%n;        else if(s==1&&d[cur]==0) cur=(cur+r)%n;        else if(s==0&&d[cur]==1) cur=(cur+r)%n;        else if(s==1&&d[cur]==1) cur=(cur+n-r)%n;    }    cout<<t[cur];}
原创粉丝点击