Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- int n = in.nextInt();
- int m = in.nextInt();
- int[][] a = new int[n][m];
- int[][] b = new int[n][m];
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++) {
- a[i][j] = in.nextInt();
- b[i][j] = -1;
- }
- }
- b[0][0] = 0;
- int k = 0;
- boolean flag = false;
- int[] D1 = {0, 0, 1, -1};
- int[] D2 = {1, -1, 0, 0};
- do {
- flag = true;
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++) {
- if (b[i][j] == k) {
- for (int t = 0; t < 4; t++) {
- int d1 = D1[t], d2 = D2[t];
- if (i + d1 >= 0 && i + d1 < n && j + d2 >= 0 && j + d2 < m && a[i + d1][j + d2] == 0 && b[i + d1][j + d2] == -1) {
- b[i + d1][j + d2] = k + 1;
- flag = false;
- }
- }
- }
- }
- }
- k++;
- } while (!flag && b[n - 1][m - 1] == -1);
- System.out.println(b[n - 1][m - 1]);
- in.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement