题目来源https://www.luogu.com.cn/problem/P1563
简单描述:给一串人名及朝向,再给一串位置描述包括哪个方向第几个,输出最终指向的人名。
先上代码:
点击查看代码
#include <cstdlib>
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <sstream>
using namespace std;
struct one{
bool dir;
string name;
};
int main(){
int n,m,c=0,nn;
bool dir;
one peo[100000];
scanf("%d %d",&n,&m);
for(int i=0;i<n;i++){
cin>>peo[i].dir>>peo[i].name;
}
for(int i=0;i<m;i++){
scanf("%d %d",&dir,&nn);
switch(peo[c].dir+dir){
case 0:
case 2:{
c=(c+n-(nn%n))%n;
break;
}
case 1:{
c=(c+nn)%n;
break;
}
}
}
printf("%s",peo[c].name.c_str());
return 0;
}