#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 |