P1563 [NOIP2016 提高组] 玩具谜题
Posted Kunkun只喝怡宝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1563 [NOIP2016 提高组] 玩具谜题相关的知识,希望对你有一定的参考价值。
代码
1、每个玩具人的朝向用结构体来存储
2、对于每个命令,如果其方向和玩具人的朝向一样的话就向数组减小方向移动,反之往数组增大方向移动,注意判断移动越界的情况,另加处理。
#include<bits/stdc++.h>
using namespace std;
struct People{
int toward;
string job;
};
int main(){
int n,m,i,j=0,a,b;
People people[100000];
cin>>n>>m;
for(i=0;i<n;i++)
cin>>people[i].toward>>people[i].job;
for(i=0;i<m;i++){
cin>>a>>b;
if(a==people[j].toward){
if(j-b>=0) j-=b;
else j=n+(j-b)%n;
}else{
if(j+b<n) j+=b;
else j=(j+b)%n;
}
}
cout<<people[j].job;
return 0;
}
以上是关于P1563 [NOIP2016 提高组] 玩具谜题的主要内容,如果未能解决你的问题,请参考以下文章