답안 #867722

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
867722 2023-10-29T10:16:49 Z BoopyTheNoob Tracks in the Snow (BOI13_tracks) C++14
100 / 100
416 ms 118752 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;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 3676 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 1 ms 604 KB Output is correct
4 Correct 5 ms 3416 KB Output is correct
5 Correct 2 ms 1884 KB Output is correct
6 Correct 1 ms 604 KB Output is correct
7 Correct 0 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 2136 KB Output is correct
13 Correct 3 ms 1880 KB Output is correct
14 Correct 2 ms 1884 KB Output is correct
15 Correct 9 ms 3420 KB Output is correct
16 Correct 8 ms 3800 KB Output is correct
17 Correct 6 ms 3416 KB Output is correct
18 Correct 4 ms 3420 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 15964 KB Output is correct
2 Correct 26 ms 10324 KB Output is correct
3 Correct 140 ms 59728 KB Output is correct
4 Correct 44 ms 25680 KB Output is correct
5 Correct 115 ms 42836 KB Output is correct
6 Correct 413 ms 94144 KB Output is correct
7 Correct 7 ms 16472 KB Output is correct
8 Correct 7 ms 15964 KB Output is correct
9 Correct 1 ms 860 KB Output is correct
10 Correct 1 ms 604 KB Output is correct
11 Correct 7 ms 16276 KB Output is correct
12 Correct 1 ms 1116 KB Output is correct
13 Correct 29 ms 10368 KB Output is correct
14 Correct 16 ms 7004 KB Output is correct
15 Correct 11 ms 9308 KB Output is correct
16 Correct 14 ms 4444 KB Output is correct
17 Correct 83 ms 21304 KB Output is correct
18 Correct 49 ms 28176 KB Output is correct
19 Correct 43 ms 25720 KB Output is correct
20 Correct 35 ms 19028 KB Output is correct
21 Correct 86 ms 41468 KB Output is correct
22 Correct 109 ms 42836 KB Output is correct
23 Correct 131 ms 34708 KB Output is correct
24 Correct 85 ms 38812 KB Output is correct
25 Correct 315 ms 80976 KB Output is correct
26 Correct 226 ms 118752 KB Output is correct
27 Correct 306 ms 107360 KB Output is correct
28 Correct 393 ms 94164 KB Output is correct
29 Correct 416 ms 93024 KB Output is correct
30 Correct 369 ms 96964 KB Output is correct
31 Correct 326 ms 62044 KB Output is correct
32 Correct 257 ms 92684 KB Output is correct