Submission #656021

# Submission time Handle Problem Language Result Execution time Memory
656021 2022-11-06T08:45:37 Z mosaev Network (BOI15_net) C++17
18 / 100
26 ms 35904 KB
#include <bits/stdc++.h>
#include <set>
#include <map>
#include <unordered_map>
using namespace std;
#define ll long long
#define N (ll)(5e5+5)
#define NP (2097155ll)
#define M ((ll)1e9+7)
#define fi first
#define se second
ll n, ct, r;
vector<ll> v[N];
vector<pair<ll, ll>> ans;
set<pair<ll, ll>> st[N], tmp;
void dfs(ll s, ll p) {
	ct++; if (v[s].size() == 1) { st[s].insert({ ct, s }); return; }
	for (auto x : v[s]) if (x != p) {
		dfs(x, s); if (st[x].size() > st[s].size()) swap(st[x], st[s]);
		for (auto y : st[x]) st[s].insert(y);
	}
	tmp.clear(); for (auto x : st[s]) tmp.insert({ -x.first, x.second });
	while (st[s].size() > 2) {
		ans.push_back({ (*st[s].begin()).second, (*tmp.begin()).second });
		st[s].erase({ -(*tmp.begin()).first, tmp.begin()->second }); tmp.erase(tmp.begin());
		tmp.erase({ -st[s].begin()->first, st[s].begin()->second }); st[s].erase(st[s].begin());
	}
}
int main() {
#define int ll
	ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
	cin >> n; ll a, b; for (int i = 1; i < n; i++) cin >> a >> b, v[a].push_back(b), v[b].push_back(a);
	for (int i = 1; i <= n; i++) if (v[i].size() > 1) r = i;
	dfs(r, 0);
	if (st[r].size() == 2) {
		pair<ll, ll> c = *st[r].begin(); st[r].erase(st[r].begin());
		ans.push_back({ c.second, st[r].begin()->second });
	}
	else if (st[r].size() == 1) {
		ans.push_back({ r, st[r].begin()->second });
	}
	cout << ans.size() << '\n';
	for (auto x : ans) cout << x.first << ' ' << x.second << '\n';
}
# Verdict Execution time Memory Grader output
1 Correct 16 ms 35436 KB Output is correct
2 Correct 17 ms 35520 KB Output is correct
3 Correct 16 ms 35524 KB Output is correct
4 Correct 16 ms 35524 KB Output is correct
5 Correct 19 ms 35464 KB Output is correct
6 Correct 16 ms 35536 KB Output is correct
7 Correct 18 ms 35512 KB Output is correct
8 Correct 18 ms 35540 KB Output is correct
9 Correct 21 ms 35496 KB Output is correct
10 Correct 19 ms 35436 KB Output is correct
11 Correct 20 ms 35540 KB Output is correct
12 Correct 17 ms 35540 KB Output is correct
13 Correct 19 ms 35440 KB Output is correct
14 Correct 22 ms 35456 KB Output is correct
15 Correct 18 ms 35540 KB Output is correct
16 Correct 26 ms 35428 KB Output is correct
17 Correct 18 ms 35528 KB Output is correct
18 Correct 19 ms 35428 KB Output is correct
19 Correct 16 ms 35544 KB Output is correct
20 Correct 18 ms 35504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 16 ms 35436 KB Output is correct
2 Correct 17 ms 35520 KB Output is correct
3 Correct 16 ms 35524 KB Output is correct
4 Correct 16 ms 35524 KB Output is correct
5 Correct 19 ms 35464 KB Output is correct
6 Correct 16 ms 35536 KB Output is correct
7 Correct 18 ms 35512 KB Output is correct
8 Correct 18 ms 35540 KB Output is correct
9 Correct 21 ms 35496 KB Output is correct
10 Correct 19 ms 35436 KB Output is correct
11 Correct 20 ms 35540 KB Output is correct
12 Correct 17 ms 35540 KB Output is correct
13 Correct 19 ms 35440 KB Output is correct
14 Correct 22 ms 35456 KB Output is correct
15 Correct 18 ms 35540 KB Output is correct
16 Correct 26 ms 35428 KB Output is correct
17 Correct 18 ms 35528 KB Output is correct
18 Correct 19 ms 35428 KB Output is correct
19 Correct 16 ms 35544 KB Output is correct
20 Correct 18 ms 35504 KB Output is correct
21 Correct 15 ms 35412 KB Output is correct
22 Correct 18 ms 35904 KB Output is correct
23 Correct 21 ms 35816 KB Output is correct
24 Correct 19 ms 35876 KB Output is correct
25 Correct 20 ms 35788 KB Output is correct
26 Correct 18 ms 35656 KB Output is correct
27 Correct 19 ms 35752 KB Output is correct
28 Incorrect 18 ms 35668 KB Breaking single line is causing network to disconnect.
29 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 16 ms 35436 KB Output is correct
2 Correct 17 ms 35520 KB Output is correct
3 Correct 16 ms 35524 KB Output is correct
4 Correct 16 ms 35524 KB Output is correct
5 Correct 19 ms 35464 KB Output is correct
6 Correct 16 ms 35536 KB Output is correct
7 Correct 18 ms 35512 KB Output is correct
8 Correct 18 ms 35540 KB Output is correct
9 Correct 21 ms 35496 KB Output is correct
10 Correct 19 ms 35436 KB Output is correct
11 Correct 20 ms 35540 KB Output is correct
12 Correct 17 ms 35540 KB Output is correct
13 Correct 19 ms 35440 KB Output is correct
14 Correct 22 ms 35456 KB Output is correct
15 Correct 18 ms 35540 KB Output is correct
16 Correct 26 ms 35428 KB Output is correct
17 Correct 18 ms 35528 KB Output is correct
18 Correct 19 ms 35428 KB Output is correct
19 Correct 16 ms 35544 KB Output is correct
20 Correct 18 ms 35504 KB Output is correct
21 Correct 15 ms 35412 KB Output is correct
22 Correct 18 ms 35904 KB Output is correct
23 Correct 21 ms 35816 KB Output is correct
24 Correct 19 ms 35876 KB Output is correct
25 Correct 20 ms 35788 KB Output is correct
26 Correct 18 ms 35656 KB Output is correct
27 Correct 19 ms 35752 KB Output is correct
28 Incorrect 18 ms 35668 KB Breaking single line is causing network to disconnect.
29 Halted 0 ms 0 KB -