답안 #389889

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
389889 2021-04-14T20:03:00 Z null_awe Tracks in the Snow (BOI13_tracks) C++14
100 / 100
706 ms 118696 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 14 ms 3532 KB Output is correct
2 Correct 1 ms 460 KB Output is correct
3 Correct 1 ms 640 KB Output is correct
4 Correct 11 ms 3412 KB Output is correct
5 Correct 3 ms 1868 KB Output is correct
6 Correct 1 ms 460 KB Output is correct
7 Correct 1 ms 588 KB Output is correct
8 Correct 1 ms 716 KB Output is correct
9 Correct 1 ms 844 KB Output is correct
10 Correct 3 ms 1612 KB Output is correct
11 Correct 3 ms 1400 KB Output is correct
12 Correct 5 ms 1996 KB Output is correct
13 Correct 3 ms 1868 KB Output is correct
14 Correct 3 ms 1868 KB Output is correct
15 Correct 11 ms 3332 KB Output is correct
16 Correct 14 ms 3600 KB Output is correct
17 Correct 9 ms 3404 KB Output is correct
18 Correct 8 ms 3404 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 11 ms 15820 KB Output is correct
2 Correct 49 ms 10308 KB Output is correct
3 Correct 216 ms 59644 KB Output is correct
4 Correct 70 ms 25668 KB Output is correct
5 Correct 198 ms 42472 KB Output is correct
6 Correct 705 ms 94364 KB Output is correct
7 Correct 12 ms 16460 KB Output is correct
8 Correct 11 ms 15824 KB Output is correct
9 Correct 2 ms 716 KB Output is correct
10 Correct 1 ms 460 KB Output is correct
11 Correct 11 ms 16204 KB Output is correct
12 Correct 1 ms 1104 KB Output is correct
13 Correct 44 ms 10356 KB Output is correct
14 Correct 25 ms 7032 KB Output is correct
15 Correct 21 ms 9292 KB Output is correct
16 Correct 20 ms 4272 KB Output is correct
17 Correct 113 ms 21216 KB Output is correct
18 Correct 89 ms 28192 KB Output is correct
19 Correct 71 ms 25668 KB Output is correct
20 Correct 54 ms 18980 KB Output is correct
21 Correct 136 ms 41356 KB Output is correct
22 Correct 182 ms 42432 KB Output is correct
23 Correct 223 ms 34568 KB Output is correct
24 Correct 145 ms 38596 KB Output is correct
25 Correct 463 ms 80620 KB Output is correct
26 Correct 452 ms 118696 KB Output is correct
27 Correct 618 ms 107368 KB Output is correct
28 Correct 706 ms 94332 KB Output is correct
29 Correct 698 ms 92756 KB Output is correct
30 Correct 645 ms 96968 KB Output is correct
31 Correct 582 ms 61996 KB Output is correct
32 Correct 488 ms 92544 KB Output is correct