Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Q1697 {
- static int[] move = new int[3]; // seq: -1, +1, *2
- public static void main(String[] args) throws IOException {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- StringTokenizer st = new StringTokenizer(br.readLine());
- int[] arr = new int[100002];
- int start = Integer.parseInt(st.nextToken());
- int end = Integer.parseInt(st.nextToken());
- Queue<Integer> queue = new LinkedList<Integer>();
- arr[start] = 1;
- queue.add(start);
- boolean brk = false; //이중반복문 탈출
- while(!queue.isEmpty()) {
- int current = queue.poll();
- int next = 0;
- move[0] = current - 1;
- move[1] = current + 1;
- move[2] = current * 2;
- for(int i=0; i<3; i++) {
- next = move[i];
- if(move[i]<0 || move[i]>100000) {
- continue;
- }
- if(arr[next]>0) {
- continue;
- }else {
- arr[next] = arr[current]+1;
- if(next == end) {
- brk = true;
- break;
- }
- queue.add(next);
- }
- }
- if(brk) {
- break;
- }
- }
- System.out.print(arr[end]-1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement