답안 #619984

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
619984 2022-08-02T18:12:38 Z abcisosm5 Tracks in the Snow (BOI13_tracks) C++17
100 / 100
494 ms 130832 KB
#include <bits/stdc++.h>
using namespace std;

const int MN = 4000;
string grid[MN] = {};
int dist[MN][MN] = {{}};
int dx[4] = {1, -1, 0, 0};
int dy[4] = {0, 0, 1, -1};

int main(){
	cin.tie(0)->sync_with_stdio(0);

	int H, W; cin >> H >> W;

	for(int i = 0; i < H; i++){
		cin >> grid[i];
	}

	int maxDist = 1;
	dist[0][0] = 1;
	deque<pair<int,int>> d; d.push_front({0,0});

	while(!d.empty()){
		pair<int,int> p = d.front(); d.pop_front();
		int x = p.first; int y = p.second;

		for(int i = 0; i < 4; i++){
			int x_ = x+dx[i]; int y_ = y+dy[i];
			if(x_ < 0 || x_ >= H || y_ < 0 || y_ >= W) continue;
			if(grid[x_][y_] == '.' || dist[x_][y_] > 0) continue;
			
			if(grid[x_][y_] == grid[x][y]){
				dist[x_][y_] = dist[x][y];
				d.push_front({x_,y_});
			} else{
				dist[x_][y_] = dist[x][y]+1;
				maxDist = max(maxDist, dist[x_][y_]);
				d.push_back({x_,y_});
			}
		}
	}

	cout << maxDist;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 9 ms 3936 KB Output is correct
2 Correct 0 ms 468 KB Output is correct
3 Correct 1 ms 596 KB Output is correct
4 Correct 7 ms 3552 KB Output is correct
5 Correct 2 ms 2004 KB Output is correct
6 Correct 0 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 2132 KB Output is correct
13 Correct 2 ms 2000 KB Output is correct
14 Correct 2 ms 2000 KB Output is correct
15 Correct 8 ms 3720 KB Output is correct
16 Correct 10 ms 3876 KB Output is correct
17 Correct 7 ms 3640 KB Output is correct
18 Correct 6 ms 3540 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 16092 KB Output is correct
2 Correct 32 ms 11884 KB Output is correct
3 Correct 156 ms 75448 KB Output is correct
4 Correct 52 ms 29400 KB Output is correct
5 Correct 98 ms 51204 KB Output is correct
6 Correct 494 ms 109852 KB Output is correct
7 Correct 10 ms 16980 KB Output is correct
8 Correct 10 ms 16084 KB Output is correct
9 Correct 2 ms 724 KB Output is correct
10 Correct 1 ms 468 KB Output is correct
11 Correct 12 ms 16372 KB Output is correct
12 Correct 1 ms 1124 KB Output is correct
13 Correct 31 ms 11888 KB Output is correct
14 Correct 18 ms 8012 KB Output is correct
15 Correct 14 ms 10316 KB Output is correct
16 Correct 15 ms 4932 KB Output is correct
17 Correct 77 ms 25180 KB Output is correct
18 Correct 58 ms 32376 KB Output is correct
19 Correct 53 ms 29484 KB Output is correct
20 Correct 41 ms 22336 KB Output is correct
21 Correct 96 ms 50696 KB Output is correct
22 Correct 96 ms 51348 KB Output is correct
23 Correct 160 ms 42392 KB Output is correct
24 Correct 97 ms 47360 KB Output is correct
25 Correct 320 ms 96448 KB Output is correct
26 Correct 320 ms 130832 KB Output is correct
27 Correct 408 ms 122916 KB Output is correct
28 Correct 494 ms 109892 KB Output is correct
29 Correct 487 ms 108488 KB Output is correct
30 Correct 453 ms 112420 KB Output is correct
31 Correct 379 ms 72092 KB Output is correct
32 Correct 357 ms 108188 KB Output is correct