# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
764889 | vjudge1 | Network (BOI15_net) | C++17 | 6 ms | 11988 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
// Problem: C - Интернет связь
// Contest: Virtual Judge - IOI contest div-B
// URL: https://vjudge.net/contest/564767#problem/C
// Memory Limit: 256 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define sz(x) (int)x.size()
#define all(v) (v).begin(),(v).end()
#define rall(v) ((v).rbegin()), ((v).rend())
#define out(v) for(auto& i : v) cout << i << ' ';
#define F first
#define S second
#define int long long
const ll N = 5e5 + 17;
const ll MOD = 1e9 + 7;
const string alf = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
vector <int > g[N];
int cnt = 1;
void solve (){
int n;
cin >>n;
for(int i = 1; i <= n - 1; i ++){
int x , y;
cin >> x >> y;
g[x].pb(y);
g[y].pb(x);
}
vector <int > ans;
ans.pb(1);
for(int i = 2; i <= n; i ++){
if (g[i].size() == 1){
ans.pb(i);
}
}
cout <<(ans.size() + 1) / 2 << endl;
for(int i = 0; i < ans.size(); i += 2){
if (i + 1 == ans.size()){
cout <<ans[i] << " " << g[ans[i]][0] << endl;
}
else {
cout <<ans[i] << " " << ans[i + 1] << endl;
}
}
}
signed main(){
// freopen("ones.in" , "r" , stdin) ;
// freopen("ones.out" , "w" , stdout) ;
ios::sync_with_stdio(false);
cin.tie(0);
int T = 1;
// int cs = 1;
// cin >>T;
while (T --){
// cout <<"Case " << cs ++<< ":" << endl;
solve ();
// cout <<endl;
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |