Submission #542066

# Submission time Handle Problem Language Result Execution time Memory
542066 2022-03-25T09:40:19 Z Matthew192 Tracks in the Snow (BOI13_tracks) C++17
100 / 100
509 ms 129924 KB
#include <bits/stdc++.h>
using namespace std;

int dx[4]{1, -1, 0, 0}, dy[4]{0, 0, 1, -1};

int n, m, depth[4000][4000], ans = 1;
string snow[4000];

bool inside(int x, int y) {
	return (x > -1 && x < n && y > -1 && y < m && snow[x][y] != '.');
}

int main() {
	iostream::sync_with_stdio(false);
	cin.tie(0);

	cin >> n >> m;
	for (int i = 0; i < n; i++) cin >> snow[i];

	deque<pair<int, int>> q;
	q.push_back({0, 0});
	depth[0][0] = 1;

	while (q.size()) {
		pair<int, int> c = q.front();
		q.pop_front();
		ans = max(ans, depth[c.first][c.second]);

		for (int i = 0; i < 4; i++) {
			int x = c.first + dx[i], y = c.second + dy[i];
			if (inside(x, y) && depth[x][y] == 0) {
				if (snow[x][y] == snow[c.first][c.second]) {
					depth[x][y] = depth[c.first][c.second];
					q.push_front({x, y});
				} else {
					depth[x][y] = depth[c.first][c.second] + 1;
					q.push_back({x, y});
				}
			}
		}
	}

	cout << ans;
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 11 ms 3796 KB Output is correct
2 Correct 1 ms 596 KB Output is correct
3 Correct 1 ms 596 KB Output is correct
4 Correct 7 ms 3404 KB Output is correct
5 Correct 3 ms 2004 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 1 ms 596 KB Output is correct
8 Correct 1 ms 724 KB Output is correct
9 Correct 1 ms 852 KB Output is correct
10 Correct 2 ms 1620 KB Output is correct
11 Correct 2 ms 1492 KB Output is correct
12 Correct 4 ms 2084 KB Output is correct
13 Correct 3 ms 2004 KB Output is correct
14 Correct 3 ms 2000 KB Output is correct
15 Correct 9 ms 3628 KB Output is correct
16 Correct 12 ms 3796 KB Output is correct
17 Correct 8 ms 3664 KB Output is correct
18 Correct 7 ms 3412 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 10 ms 15828 KB Output is correct
2 Correct 34 ms 11796 KB Output is correct
3 Correct 173 ms 69748 KB Output is correct
4 Correct 56 ms 29276 KB Output is correct
5 Correct 137 ms 51660 KB Output is correct
6 Correct 496 ms 104204 KB Output is correct
7 Correct 11 ms 16500 KB Output is correct
8 Correct 9 ms 15824 KB Output is correct
9 Correct 2 ms 724 KB Output is correct
10 Correct 1 ms 468 KB Output is correct
11 Correct 10 ms 16212 KB Output is correct
12 Correct 1 ms 1108 KB Output is correct
13 Correct 33 ms 11852 KB Output is correct
14 Correct 20 ms 7860 KB Output is correct
15 Correct 16 ms 10336 KB Output is correct
16 Correct 17 ms 4936 KB Output is correct
17 Correct 83 ms 25264 KB Output is correct
18 Correct 67 ms 32052 KB Output is correct
19 Correct 59 ms 29296 KB Output is correct
20 Correct 44 ms 22396 KB Output is correct
21 Correct 114 ms 50552 KB Output is correct
22 Correct 137 ms 51632 KB Output is correct
23 Correct 166 ms 42248 KB Output is correct
24 Correct 105 ms 47620 KB Output is correct
25 Correct 311 ms 90716 KB Output is correct
26 Correct 313 ms 129924 KB Output is correct
27 Correct 418 ms 117868 KB Output is correct
28 Correct 509 ms 104752 KB Output is correct
29 Correct 502 ms 103292 KB Output is correct
30 Correct 461 ms 107756 KB Output is correct
31 Correct 442 ms 71988 KB Output is correct
32 Correct 356 ms 103200 KB Output is correct