Submission #814574

# Submission time Handle Problem Language Result Execution time Memory
814574 2023-08-08T08:23:43 Z devariaota Tracks in the Snow (BOI13_tracks) C++17
34.375 / 100
2000 ms 78820 KB
#include <bits/stdc++.h>
using namespace std;

int h, w, total;
int meadow[4005][4005];
bool vis[4005][4005];
// vector<pair<int, int>> dir = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};
int dir[4][2] = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};

int main() {
  cin >> h >> w;
  char in;
  for (int i = 1; i <= h; i++) {
    for (int j = 1; j <= w; j++) {
      cin >> in;
      if (in == '.') {
        meadow[i][j] = -1;
      } else if (in == 'R') {
        meadow[i][j] = 1;
        total++;
      }
      else {
        meadow[i][j] = 0;
        total++;
      }
    }
  }

  // for (int i = 1; i <= h; i++) {
  //   for (int j = 1; j <= w; j++) {
  //     cout << meadow[i][j] << "	";
  //   }
  //   cout << endl;
  // }
  int ans = 0;

  while (true) {
    queue<pair<int, int>> q;
    memset(vis, 0, sizeof(vis));

    q.push({1, 1});
    vis[1][1] = 1;
    int row, col, count = 1;
    int top = meadow[1][1];
    meadow[1][1] += 1;
    meadow[1][1] %= 2;
    ans++;

    while (!q.empty()) {
      row = q.front().first;
      col = q.front().second;
      q.pop();

      for (int i = 0; i < 4; i++) {
        if (row + dir[i][0] > 0 and row + dir[i][0] <= h and col + dir[i][1] > 0 and col + dir[i][1] <= w and !vis[row+dir[i][0]][col+dir[i][1]] and meadow[row+dir[i][0]][col+dir[i][1]] == top) {
          q.push({row+dir[i][0], col+dir[i][1]});
          meadow[row+dir[i][0]][col+dir[i][1]] += 1;
          meadow[row+dir[i][0]][col+dir[i][1]] %= 2;
          vis[row+dir[i][0]][col+dir[i][1]] = 1;
          count++;
        }
      }
    }

    // for (int i = 1; i <= h; i++) {
    //   for (int j = 1; j <= w; j++) {
    //     cout << meadow[i][j] << "	";
    //   }
    //   cout << endl;
    // }
    // cout << count << " " << total << endl;
    // cout << endl;

    // break;



    if (count == total) {
      cout << ans << endl;
      return 0;
    }
  }
}
# Verdict Execution time Memory Grader output
1 Correct 186 ms 18876 KB Output is correct
2 Correct 150 ms 16060 KB Output is correct
3 Correct 39 ms 16196 KB Output is correct
4 Correct 28 ms 18540 KB Output is correct
5 Correct 148 ms 17452 KB Output is correct
6 Correct 145 ms 16060 KB Output is correct
7 Correct 37 ms 16084 KB Output is correct
8 Correct 11 ms 16260 KB Output is correct
9 Correct 39 ms 16340 KB Output is correct
10 Correct 180 ms 17236 KB Output is correct
11 Correct 13 ms 16860 KB Output is correct
12 Correct 85 ms 17492 KB Output is correct
13 Correct 129 ms 17452 KB Output is correct
14 Correct 134 ms 17448 KB Output is correct
15 Correct 449 ms 18960 KB Output is correct
16 Correct 201 ms 18876 KB Output is correct
17 Correct 492 ms 18832 KB Output is correct
18 Correct 34 ms 18480 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 2057 ms 31432 KB Time limit exceeded
2 Execution timed out 2053 ms 27108 KB Time limit exceeded
3 Execution timed out 2086 ms 78756 KB Time limit exceeded
4 Execution timed out 2059 ms 38200 KB Time limit exceeded
5 Execution timed out 2023 ms 62996 KB Time limit exceeded
6 Execution timed out 2071 ms 78708 KB Time limit exceeded
7 Execution timed out 2073 ms 32212 KB Time limit exceeded
8 Execution timed out 2087 ms 31444 KB Time limit exceeded
9 Correct 296 ms 16224 KB Output is correct
10 Execution timed out 2072 ms 16084 KB Time limit exceeded
11 Execution timed out 2072 ms 31956 KB Time limit exceeded
12 Execution timed out 2080 ms 16596 KB Time limit exceeded
13 Execution timed out 2089 ms 27108 KB Time limit exceeded
14 Execution timed out 2072 ms 23168 KB Time limit exceeded
15 Execution timed out 2086 ms 23884 KB Time limit exceeded
16 Execution timed out 2084 ms 20076 KB Time limit exceeded
17 Execution timed out 2087 ms 39892 KB Time limit exceeded
18 Execution timed out 2087 ms 39536 KB Time limit exceeded
19 Execution timed out 2076 ms 38192 KB Time limit exceeded
20 Execution timed out 2057 ms 36428 KB Time limit exceeded
21 Execution timed out 2080 ms 64492 KB Time limit exceeded
22 Execution timed out 2081 ms 62988 KB Time limit exceeded
23 Execution timed out 2072 ms 55168 KB Time limit exceeded
24 Execution timed out 2063 ms 64004 KB Time limit exceeded
25 Execution timed out 2074 ms 78692 KB Time limit exceeded
26 Correct 739 ms 70896 KB Output is correct
27 Execution timed out 2049 ms 78820 KB Time limit exceeded
28 Execution timed out 2084 ms 78648 KB Time limit exceeded
29 Execution timed out 2048 ms 78712 KB Time limit exceeded
30 Execution timed out 2064 ms 77428 KB Time limit exceeded
31 Execution timed out 2054 ms 66160 KB Time limit exceeded
32 Execution timed out 2094 ms 78696 KB Time limit exceeded