Advertisement
Guest User

Untitled

a guest
Apr 18th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. public class Q1697 {
  2. static int[] move = new int[3]; // seq: -1, +1, *2
  3. public static void main(String[] args) throws IOException {
  4. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  5. StringTokenizer st = new StringTokenizer(br.readLine());
  6.  
  7. int[] arr = new int[100002];
  8. int start = Integer.parseInt(st.nextToken());
  9. int end = Integer.parseInt(st.nextToken());
  10. Queue<Integer> queue = new LinkedList<Integer>();
  11.  
  12. arr[start] = 1;
  13. queue.add(start);
  14. boolean brk = false; //이중반복문 탈출
  15. while(!queue.isEmpty()) {
  16. int current = queue.poll();
  17. int next = 0;
  18. move[0] = current - 1;
  19. move[1] = current + 1;
  20. move[2] = current * 2;
  21.  
  22. for(int i=0; i<3; i++) {
  23. next = move[i];
  24. if(move[i]<0 || move[i]>100000) {
  25. continue;
  26. }
  27. if(arr[next]>0) {
  28. continue;
  29. }else {
  30. arr[next] = arr[current]+1;
  31. if(next == end) {
  32. brk = true;
  33. break;
  34. }
  35. queue.add(next);
  36. }
  37. }
  38.  
  39. if(brk) {
  40. break;
  41. }
  42. }
  43. System.out.print(arr[end]-1);
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement