您的位置:首页 > 其它

NOIP day1 玩具谜题

2016-12-03 09:39 225 查看
逻辑有一些复杂,但是理解之后就很简单。题目描述中mogician什么的太暴力了。。。-1s

按照题目描述模拟,就能满分。

/*
CCF NOIP2016 day1
toy
*/

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;

int n,m,cmd1,cmd2,pt;
struct toy{
bool d;
char p[12];
};
toy f[100000+3];    //存玩具小人

int cshun(int pn, int num){
pn-=num;
if(pn<1) pn+=n;
return pn;
}

int cni(int pn, int num){
pn+=num;
if(pn>n) pn-=n;
return pn;
}

int main(){
scanf("%d%d",&n,&m);
int tmp;
for(int k=1;k<=n;k++){
scanf("%d %s",&tmp,&f[k].p);
f[k].d=tmp;
}

pt=1;
for(int k=1;k<=m;k++){
scanf("%d%d",&cmd1,&cmd2);

if(f[pt].d){  //1-> direction outside
if(cmd1) pt=cshun(pt,cmd2); //right hand
else     pt=cni(pt,cmd2); //left hand
}else{   //0-> direction inside
if(cmd1) pt=cni(pt,cmd2); //right hand
else     pt=cshun(pt,cmd2); //left hand
}

}

printf("%s",f[pt].p);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  noip