Submission #922268

# Submission time Handle Problem Language Result Execution time Memory
922268 2024-02-05T10:26:52 Z tkm_algorithms Tracks in the Snow (BOI13_tracks) C++17
100 / 100
438 ms 130764 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 9 ms 3932 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 1 ms 604 KB Output is correct
4 Correct 6 ms 3676 KB Output is correct
5 Correct 2 ms 2140 KB Output is correct
6 Correct 0 ms 604 KB Output is correct
7 Correct 1 ms 604 KB Output is correct
8 Correct 1 ms 860 KB Output is correct
9 Correct 1 ms 860 KB Output is correct
10 Correct 2 ms 1628 KB Output is correct
11 Correct 2 ms 1628 KB Output is correct
12 Correct 4 ms 2228 KB Output is correct
13 Correct 2 ms 2140 KB Output is correct
14 Correct 2 ms 2136 KB Output is correct
15 Correct 8 ms 3676 KB Output is correct
16 Correct 9 ms 3932 KB Output is correct
17 Correct 6 ms 3676 KB Output is correct
18 Correct 5 ms 3416 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 15836 KB Output is correct
2 Correct 28 ms 11864 KB Output is correct
3 Correct 157 ms 75348 KB Output is correct
4 Correct 51 ms 29304 KB Output is correct
5 Correct 120 ms 51616 KB Output is correct
6 Correct 438 ms 110188 KB Output is correct
7 Correct 9 ms 16728 KB Output is correct
8 Correct 8 ms 15964 KB Output is correct
9 Correct 1 ms 920 KB Output is correct
10 Correct 1 ms 600 KB Output is correct
11 Correct 8 ms 16220 KB Output is correct
12 Correct 1 ms 1116 KB Output is correct
13 Correct 28 ms 12016 KB Output is correct
14 Correct 16 ms 8028 KB Output is correct
15 Correct 17 ms 10332 KB Output is correct
16 Correct 14 ms 4948 KB Output is correct
17 Correct 72 ms 25256 KB Output is correct
18 Correct 58 ms 32088 KB Output is correct
19 Correct 51 ms 29376 KB Output is correct
20 Correct 38 ms 22608 KB Output is correct
21 Correct 112 ms 50712 KB Output is correct
22 Correct 118 ms 51712 KB Output is correct
23 Correct 145 ms 42160 KB Output is correct
24 Correct 96 ms 47516 KB Output is correct
25 Correct 323 ms 96360 KB Output is correct
26 Correct 247 ms 130764 KB Output is correct
27 Correct 316 ms 123116 KB Output is correct
28 Correct 427 ms 110188 KB Output is correct
29 Correct 427 ms 108492 KB Output is correct
30 Correct 376 ms 112612 KB Output is correct
31 Correct 333 ms 72088 KB Output is correct
32 Correct 282 ms 108292 KB Output is correct