题目描述
如下图,地图由凸点和凹点交替组成的N角星形状,警察和小愉初始在地图的凸点位置,每轮小偷和警察依次移动(小偷先走),移动方向固定为逆时针移动小娟C202
警察每次走2步,小愉奇数轮走1步,偶数轮走2步,小偷移动到出发点位置时停走一轮。
请编写一个程序,找出警察抓住小愉的最少移动次数。
说明:只有警察移动时,且移动的终点刚好与小偷位置重合则抓成功;
求解思路
输入输出示例
样例1
输入:5 1 2
输出:7
解释:小偷移动办步到达凸点3的位置,警察移动7步也到的凸点3的位置。
代码
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt()*2;
int i = (sc.nextInt()-1)*2;//jingcha
int j = (sc.nextInt()-1)*2;//xiaotou
int count = 0;
int tag = 0;//0
int tag2 = 0;
while(i!=j){
if(tag2 == 1 && j == 0){
tag2 = 0;
continue;
}
if(tag == 0){
j = (j+1)%n;
tag = 1;
}else {
j = (j + 2)%n;
tag = 0;
}
if(j == 0){
tag2 = 1;
}
i = (i+2)%n;
count++;
}
System.out.println(count);
}
}