P1563 [NOIP2016 提高组] 玩具谜题
程序员文章站
2024-03-19 09:12:46
...
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt(); //小人人数
int m=in.nextInt(); //指令条数
int[] t=new int[1000001]; //人物转向
String[] str=new String[1000001]; //人物名字
int cur=0,a=0,s=0; //cur为当前小人位置
//输入n个人数据
for(int i=0;i<n;i++) {
t[i]=in.nextInt();
str[i]=in.next();
}
//输入m条指令数据
for(int i=0;i<m;i++) {
//a为指令方向,s为位移量
a=in.nextInt();
s=in.nextInt();
if(t[cur]==a) { // 向外朝左与向内朝右是一致的,反之亦然
//如果方向相同,则向左移
s*=-1;
}
cur=(cur+s+n)%n; //加n余n,防止出现负数,更新位置
}
System.out.println(str[cur]);
}
}
上一篇: JZ2440学习总结3
下一篇: uva673