Submission #1000536

# Submission time Handle Problem Language Result Execution time Memory
1000536 2024-06-17T16:39:51 Z HUYHDUVE Tracks in the Snow (BOI13_tracks) C++14
100 / 100
444 ms 128008 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 8 ms 3932 KB Output is correct
2 Correct 1 ms 604 KB Output is correct
3 Correct 1 ms 604 KB Output is correct
4 Correct 7 ms 3532 KB Output is correct
5 Correct 2 ms 2140 KB Output is correct
6 Correct 1 ms 604 KB Output is correct
7 Correct 1 ms 600 KB Output is correct
8 Correct 1 ms 860 KB Output is correct
9 Correct 1 ms 856 KB Output is correct
10 Correct 2 ms 1720 KB Output is correct
11 Correct 1 ms 1628 KB Output is correct
12 Correct 5 ms 2232 KB Output is correct
13 Correct 2 ms 2140 KB Output is correct
14 Correct 2 ms 2140 KB Output is correct
15 Correct 8 ms 3856 KB Output is correct
16 Correct 8 ms 4032 KB Output is correct
17 Correct 5 ms 3676 KB Output is correct
18 Correct 5 ms 3420 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 15884 KB Output is correct
2 Correct 29 ms 12004 KB Output is correct
3 Correct 149 ms 74004 KB Output is correct
4 Correct 52 ms 29332 KB Output is correct
5 Correct 110 ms 51032 KB Output is correct
6 Correct 397 ms 106612 KB Output is correct
7 Correct 7 ms 16732 KB Output is correct
8 Correct 9 ms 16004 KB Output is correct
9 Correct 2 ms 852 KB Output is correct
10 Correct 1 ms 604 KB Output is correct
11 Correct 7 ms 16212 KB Output is correct
12 Correct 1 ms 1116 KB Output is correct
13 Correct 25 ms 11928 KB Output is correct
14 Correct 18 ms 7976 KB Output is correct
15 Correct 11 ms 10332 KB Output is correct
16 Correct 18 ms 4956 KB Output is correct
17 Correct 87 ms 24628 KB Output is correct
18 Correct 48 ms 31676 KB Output is correct
19 Correct 43 ms 27860 KB Output is correct
20 Correct 37 ms 22084 KB Output is correct
21 Correct 87 ms 48704 KB Output is correct
22 Correct 119 ms 49728 KB Output is correct
23 Correct 131 ms 40784 KB Output is correct
24 Correct 86 ms 45652 KB Output is correct
25 Correct 228 ms 92952 KB Output is correct
26 Correct 219 ms 128008 KB Output is correct
27 Correct 301 ms 119652 KB Output is correct
28 Correct 444 ms 106552 KB Output is correct
29 Correct 416 ms 105216 KB Output is correct
30 Correct 365 ms 108756 KB Output is correct
31 Correct 363 ms 69896 KB Output is correct
32 Correct 309 ms 105036 KB Output is correct