J.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package contest1400;
  2. import java.io.PrintWriter;
  3. import java.util.Scanner;
  4. public class J {
  5. static Scanner cin = new Scanner(System.in);
  6. static PrintWriter cout = new PrintWriter(System.out);
  7. public static void main(String[] args) {
  8. init();
  9. // for (int i = 0; i < N; i++) System.out.println(Arrays.toString(G[i]));
  10. int n = cin.nextInt();
  11. int m = cin.nextInt();
  12. System.out.println(G[n][m]);
  13. cin.close();
  14. cout.close();
  15. }
  16. static final int INF = 999;
  17. static int N = 100;
  18. static int G[][] = new int[N][N];
  19. static void init() {
  20. for (int i = 0; i < N; i++)
  21. for (int j = 0; j < N; j++) {
  22. G[i][j] = INF;
  23. if (i == j) G[i][j] = Math.min(G[i][j], 0);
  24. if (j == i * 3 || i / 2 == j) G[i][j] = Math.min(G[i][j], 1);
  25. }
  26. for (int k = 1; k < N; k++)//floyed
  27. for (int i = 1; i < N; i++)
  28. for (int j = 1; j < N; j++)
  29. if (G[i][k] + G[k][j] < G[i][j])
  30. G[i][j] = G[i][k] + G[k][j];
  31. }
  32. }