Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.LinkedList;
- import java.util.Scanner;
- public class t1748 {
- static Scanner in = new Scanner(System.in);
- static int start = in.nextInt();
- static int end = in.nextInt();
- static int [][] a = new int [end+1][end+1];
- static int inf = Integer.MIN_VALUE;
- static int [] dist = new int [end+1];
- static LinkedList<Integer> queue = new LinkedList<Integer>();
- public static void array(int start, int end) {
- for (int i = 1; i < end+1; i++) {
- for (int j = 1; j < end+1; j++) {
- if(j == i+3 || j == i*4) {
- a[i][j] = 1;
- }
- }
- }
- }
- public static void bfs(int s) {
- dist[s]=0;
- queue.addLast(s);
- int v;
- while(queue.isEmpty() == false) {
- v = queue.pollFirst();
- for (int i = 1; i < end+1; i++) {
- if(a[v][i] == 1 && dist[i] == inf) {
- dist[i] = dist[v] + 1;
- queue.addLast(i);
- }
- }
- }
- }
- public static void main(String[] args) {
- if(start > end)
- System.out.println(-1);
- else {
- for (int i = 1; i < end+1; i++) {
- dist[i] = inf;
- }
- array(start, end);
- bfs(start);
- if(dist[end] != inf)
- System.out.println(dist[end]);
- else
- System.out.println(-1);
- }
- }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement