Submission #582485

# Submission time Handle Problem Language Result Execution time Memory
582485 2022-06-23T22:55:32 Z coderInTraining Tracks in the Snow (BOI13_tracks) Java 11
0 / 100
166 ms 12340 KB
import java.util.*;

class Main {

    public static int [] dR = {-1, 0, 1, 0};
    public static int [] dC = {0, 1, 0, -1};
    public static void main (String[]args) {
        Scanner scan = new Scanner (System.in);

        int rows = scan.nextInt();
        int columns = scan.nextInt();

        char [][] grid = new char [rows][columns];

        for (int i = 0; i < rows; i++) {
            String line = scan.next();

            for (int j = 0; j < columns; j++) {
                grid[i][j] = line.charAt(j);
            }
        }

        int [][] distances = new int [rows][columns];

        for (int i = 0; i < rows; i++)  {
            Arrays.fill(distances[i], Integer.MAX_VALUE);
        }

        distances[0][0] = 1;

        Queue <Pair> queue = new LinkedList <Pair>();
        Pair startingPair = new Pair (0, 0);
        queue.add(startingPair);

        int maxDist = 0;

        while (queue.isEmpty() == false) {
            Pair curPair = queue.poll();
            int cRow = curPair.row;
            int cColumn = curPair.column;
            int curDist = distances[cRow][cColumn];

            maxDist = Math.max(maxDist, curDist);

            char curChar = grid[cRow][cColumn];

            for (int i = 0; i < 4; i++) {
                int nextRow = cRow + dR[i];
                int nextColumn = cColumn + dC[i];

                if (nextRow >= rows || nextColumn >= columns || nextRow < 0 || nextColumn < 0) {
                    continue;
                }

                if (grid[nextRow][nextColumn] == '.') {
                    continue;
                }

                if (grid[nextRow][nextColumn] == curChar) {
                    if (curDist < distances[nextRow][nextColumn]) {
                        distances[nextRow][nextColumn] = curDist;
                        Pair addingPair = new Pair (nextRow, nextColumn);
                        queue.add(addingPair);
                    }
                }
                else {
                    if (curDist + 1 < distances[nextRow][nextColumn]) {
                        distances[nextRow][nextColumn] = curDist + 1;
                        Pair addingPair = new Pair (nextRow, nextColumn);
                        queue.add(addingPair);
                    }
                }
            }
        }

        System.out.println(maxDist);
    }

    private static class Pair {
        int row;
        int column;

        public Pair (int row, int column) {
            this.row = row;
            this.column = column;
        }
    }
}
# Verdict Execution time Memory Grader output
1 Runtime error 130 ms 12148 KB Execution failed because the return code was nonzero
2 Runtime error 136 ms 11992 KB Execution failed because the return code was nonzero
3 Runtime error 131 ms 12020 KB Execution failed because the return code was nonzero
4 Runtime error 166 ms 11948 KB Execution failed because the return code was nonzero
5 Runtime error 139 ms 12024 KB Execution failed because the return code was nonzero
6 Runtime error 134 ms 12008 KB Execution failed because the return code was nonzero
7 Runtime error 147 ms 12100 KB Execution failed because the return code was nonzero
8 Runtime error 151 ms 11960 KB Execution failed because the return code was nonzero
9 Runtime error 134 ms 12196 KB Execution failed because the return code was nonzero
10 Runtime error 134 ms 12112 KB Execution failed because the return code was nonzero
11 Runtime error 132 ms 12064 KB Execution failed because the return code was nonzero
12 Runtime error 153 ms 11888 KB Execution failed because the return code was nonzero
13 Runtime error 137 ms 11992 KB Execution failed because the return code was nonzero
14 Runtime error 131 ms 12136 KB Execution failed because the return code was nonzero
15 Runtime error 137 ms 11968 KB Execution failed because the return code was nonzero
16 Runtime error 140 ms 12152 KB Execution failed because the return code was nonzero
17 Runtime error 152 ms 11936 KB Execution failed because the return code was nonzero
18 Runtime error 143 ms 11948 KB Execution failed because the return code was nonzero
# Verdict Execution time Memory Grader output
1 Runtime error 134 ms 11980 KB Execution failed because the return code was nonzero
2 Runtime error 139 ms 11892 KB Execution failed because the return code was nonzero
3 Runtime error 130 ms 12144 KB Execution failed because the return code was nonzero
4 Runtime error 151 ms 12136 KB Execution failed because the return code was nonzero
5 Runtime error 134 ms 12036 KB Execution failed because the return code was nonzero
6 Runtime error 134 ms 11948 KB Execution failed because the return code was nonzero
7 Runtime error 130 ms 11896 KB Execution failed because the return code was nonzero
8 Runtime error 148 ms 11952 KB Execution failed because the return code was nonzero
9 Runtime error 148 ms 11964 KB Execution failed because the return code was nonzero
10 Runtime error 136 ms 12184 KB Execution failed because the return code was nonzero
11 Runtime error 137 ms 11876 KB Execution failed because the return code was nonzero
12 Runtime error 151 ms 12124 KB Execution failed because the return code was nonzero
13 Runtime error 152 ms 12024 KB Execution failed because the return code was nonzero
14 Runtime error 139 ms 12108 KB Execution failed because the return code was nonzero
15 Runtime error 149 ms 11832 KB Execution failed because the return code was nonzero
16 Runtime error 147 ms 11884 KB Execution failed because the return code was nonzero
17 Runtime error 134 ms 12112 KB Execution failed because the return code was nonzero
18 Runtime error 142 ms 12048 KB Execution failed because the return code was nonzero
19 Runtime error 140 ms 12340 KB Execution failed because the return code was nonzero
20 Runtime error 142 ms 12132 KB Execution failed because the return code was nonzero
21 Runtime error 131 ms 11952 KB Execution failed because the return code was nonzero
22 Runtime error 147 ms 12000 KB Execution failed because the return code was nonzero
23 Runtime error 143 ms 12132 KB Execution failed because the return code was nonzero
24 Runtime error 148 ms 12160 KB Execution failed because the return code was nonzero
25 Runtime error 144 ms 12104 KB Execution failed because the return code was nonzero
26 Runtime error 136 ms 12300 KB Execution failed because the return code was nonzero
27 Runtime error 149 ms 12036 KB Execution failed because the return code was nonzero
28 Runtime error 148 ms 11968 KB Execution failed because the return code was nonzero
29 Runtime error 139 ms 12036 KB Execution failed because the return code was nonzero
30 Runtime error 143 ms 12216 KB Execution failed because the return code was nonzero
31 Runtime error 149 ms 12184 KB Execution failed because the return code was nonzero
32 Runtime error 141 ms 12172 KB Execution failed because the return code was nonzero