Submission #556876

# Submission time Handle Problem Language Result Execution time Memory
556876 2022-05-04T08:51:56 Z Hanksburger Tracks in the Snow (BOI13_tracks) C++17
100 / 100
801 ms 972932 KB
#include <bits/stdc++.h>
using namespace std;
#define si short int
#define pii pair<si, si>
#define fi first
#define se second
pii dir[4]={{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
vector<pii > vec[2];
string a[4000];
si n, m;
int ans;
void dfs(pii u)
{
	char x=a[u.fi][u.se];
	a[u.fi][u.se]='.';
	for (pii i:dir)
	{
		pii v=u;
		v.fi+=i.fi;
		v.se+=i.se;
		if (v.fi>=0 && v.fi<n && v.se>=0 && v.se<m && a[v.fi][v.se]!='.')
		{
			if (a[v.fi][v.se]==x)
				dfs(v);
			else
				vec[(ans&1)^1].push_back(v);
		}
	}
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin >> n >> m;
	for (si i=0; i<n; i++)
		cin >> a[i];
	vec[0].push_back({0, 0});
	while (vec[ans&1].size())
	{
		for (pii u:vec[ans&1])
			dfs(u);
		vec[ans&1].clear();
		ans++;
	}
	cout << ans;
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 19 ms 1216 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 440 KB Output is correct
4 Correct 9 ms 1868 KB Output is correct
5 Correct 3 ms 596 KB Output is correct
6 Correct 1 ms 560 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 468 KB Output is correct
9 Correct 1 ms 452 KB Output is correct
10 Correct 3 ms 596 KB Output is correct
11 Correct 3 ms 980 KB Output is correct
12 Correct 7 ms 792 KB Output is correct
13 Correct 3 ms 596 KB Output is correct
14 Correct 2 ms 596 KB Output is correct
15 Correct 13 ms 964 KB Output is correct
16 Correct 18 ms 1364 KB Output is correct
17 Correct 7 ms 980 KB Output is correct
18 Correct 7 ms 1860 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 724 KB Output is correct
2 Correct 46 ms 2764 KB Output is correct
3 Correct 198 ms 19208 KB Output is correct
4 Correct 34 ms 4924 KB Output is correct
5 Correct 125 ms 10892 KB Output is correct
6 Correct 699 ms 70664 KB Output is correct
7 Correct 2 ms 724 KB Output is correct
8 Correct 2 ms 724 KB Output is correct
9 Correct 3 ms 920 KB Output is correct
10 Correct 1 ms 716 KB Output is correct
11 Correct 1 ms 724 KB Output is correct
12 Correct 1 ms 432 KB Output is correct
13 Correct 41 ms 2620 KB Output is correct
14 Correct 26 ms 1892 KB Output is correct
15 Correct 12 ms 1988 KB Output is correct
16 Correct 24 ms 1608 KB Output is correct
17 Correct 92 ms 5464 KB Output is correct
18 Correct 43 ms 5300 KB Output is correct
19 Correct 35 ms 5040 KB Output is correct
20 Correct 45 ms 4660 KB Output is correct
21 Correct 117 ms 11228 KB Output is correct
22 Correct 120 ms 10892 KB Output is correct
23 Correct 193 ms 9676 KB Output is correct
24 Correct 98 ms 10816 KB Output is correct
25 Correct 231 ms 19364 KB Output is correct
26 Correct 801 ms 972932 KB Output is correct
27 Correct 573 ms 240080 KB Output is correct
28 Correct 657 ms 70164 KB Output is correct
29 Correct 662 ms 62800 KB Output is correct
30 Correct 630 ms 146088 KB Output is correct
31 Correct 713 ms 13376 KB Output is correct
32 Correct 559 ms 267244 KB Output is correct