답안 #680046

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
680046 2023-01-09T20:36:08 Z hanlulu Tracks in the Snow (BOI13_tracks) C++14
100 / 100
1478 ms 110600 KB
#include <bits/stdc++.h>
using namespace std;
int xdir[4] = {0,0,1,-1};
int ydir[4] = {1,-1,0,0};
int main() {
	int  n,m;
	cin >> n >> m;
	vector<vector<char>> grid(n,vector<char>(m));
	for (int i = 0; i < n; i++)
	for (int j = 0; j < m; j++)
		cin >> grid[i][j];
	vector<vector<int>> dis(n,vector<int>(m,-1));
	deque<pair<int,int>> myq;
	myq.push_front({0,0});
	dis[0][0] = 1;
	int ans = 0;
	while (!myq.empty()) 
	{
		pair<int,int> u = myq.front();
		myq.pop_front();
		ans = max(ans, dis[u.first][u.second]);
		for (int i = 0; i < 4; i++)
		{
			int x = u.first + xdir[i];
			int y = u.second + ydir[i];
			if (x < 0 || x == n || y < 0 || y == m || dis[x][y] != -1 || grid[x][y] == '.') continue;
			if (grid[x][y] == grid[u.first][u.second]) 
			{
				dis[x][y] = dis[u.first][u.second];
				myq.push_front({x,y});	
			}
			else
			{
				dis[x][y] = dis[u.first][u.second] + 1;
				myq.push_back({x,y});
			}	
		}	
	}

	cout << ans << '\n';	
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 21 ms 1492 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 13 ms 1232 KB Output is correct
5 Correct 6 ms 724 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 2 ms 212 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 6 ms 596 KB Output is correct
11 Correct 4 ms 468 KB Output is correct
12 Correct 12 ms 772 KB Output is correct
13 Correct 7 ms 724 KB Output is correct
14 Correct 7 ms 724 KB Output is correct
15 Correct 21 ms 1584 KB Output is correct
16 Correct 21 ms 1576 KB Output is correct
17 Correct 23 ms 1492 KB Output is correct
18 Correct 24 ms 1252 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 764 KB Output is correct
2 Correct 112 ms 8000 KB Output is correct
3 Correct 999 ms 78884 KB Output is correct
4 Correct 251 ms 18728 KB Output is correct
5 Correct 582 ms 44452 KB Output is correct
6 Correct 1478 ms 92140 KB Output is correct
7 Correct 4 ms 852 KB Output is correct
8 Correct 4 ms 724 KB Output is correct
9 Correct 4 ms 596 KB Output is correct
10 Correct 2 ms 460 KB Output is correct
11 Correct 4 ms 852 KB Output is correct
12 Correct 2 ms 340 KB Output is correct
13 Correct 113 ms 7996 KB Output is correct
14 Correct 64 ms 4660 KB Output is correct
15 Correct 65 ms 5140 KB Output is correct
16 Correct 49 ms 3348 KB Output is correct
17 Correct 298 ms 20200 KB Output is correct
18 Correct 263 ms 19888 KB Output is correct
19 Correct 236 ms 18772 KB Output is correct
20 Correct 216 ms 17148 KB Output is correct
21 Correct 584 ms 46016 KB Output is correct
22 Correct 581 ms 44508 KB Output is correct
23 Correct 620 ms 38312 KB Output is correct
24 Correct 592 ms 44860 KB Output is correct
25 Correct 1129 ms 78812 KB Output is correct
26 Correct 1216 ms 110600 KB Output is correct
27 Correct 1375 ms 97020 KB Output is correct
28 Correct 1468 ms 92156 KB Output is correct
29 Correct 1384 ms 89700 KB Output is correct
30 Correct 1379 ms 94484 KB Output is correct
31 Correct 918 ms 51136 KB Output is correct
32 Correct 1315 ms 95872 KB Output is correct