# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
666798 | 2022-11-29T18:11:25 Z | divad | Network (BOI15_net) | C++14 | 6 ms | 11988 KB |
#include <iostream> #include <algorithm> #include <vector> #define MAX 500002 using namespace std; int n,x,y,vf[MAX]; vector<int> v[MAX],frunze; void dfs(int nod){ vf[nod] = 1; bool ok = false; for(auto vecin: v[nod]){ if(vf[vecin] == 0){ ok |= true; dfs(vecin); } } if(!ok){ frunze.push_back(nod); } } int main() { cin >> n; for(int i = 1; i < n; i++){ cin >> x >> y; v[x].push_back(y); v[y].push_back(x); } int rad = 1; for(int i = 1; i <= n; i++){ if(v[i].size() > 1){ rad = i; break; } } dfs(rad); //sort(frunze.begin(), frunze.end()); vector<pair<int, int>> sol; sol.push_back({rad, frunze[0]}); for(int i = 1; i < frunze.size()-1; i++){ sol.push_back({frunze[i], frunze[i+1]}); } cout << sol.size() << "\n"; for(auto [x, y]: sol){ cout << x << " " << y << "\n"; } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 11988 KB | Breaking single line is causing network to disconnect. |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 11988 KB | Breaking single line is causing network to disconnect. |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 11988 KB | Breaking single line is causing network to disconnect. |
2 | Halted | 0 ms | 0 KB | - |