Submission #24995

#TimeUsernameProblemLanguageResultExecution timeMemory
24995minimarioNetwork (BOI15_net)C++14
100 / 100
703 ms42508 KiB
#include <bits/stdc++.h> using namespace std; const int MAX = 500000; vector<int> g[MAX]; vector<int> order; void dfs(int u, int p) { for (int i : g[u]) { if (i == p) { continue; } dfs(i, u); } if (g[u].size() == 1) { order.push_back(u); } } int main() { /* freopen("a.in", "r", stdin); freopen("a.out", "w", stdout); */ int n; scanf("%d", &n); for (int i = 0; i < n-1; ++i) { int u, v; scanf("%d %d", &u, &v); u--; v--; g[u].push_back(v); g[v].push_back(u); } dfs(0, -1); for (int i = 0; i < order.size(); ++i) { order[i]++; } printf("%d\n", ((int)order.size()+1)/2); for (int i = 0; i < ((int)order.size())/2; ++i) { printf("%d %d\n", order[i], order[i+(order.size())/2]); } if (order.size() % 2 == 1) { printf("%d %d\n", order[0], order.back()); } }

Compilation message (stderr)

net.cpp: In function 'int main()':
net.cpp:31:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < order.size(); ++i)
                    ^
net.cpp:22:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  int n; scanf("%d", &n);
                        ^
net.cpp:25:35: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   int u, v; scanf("%d %d", &u, &v);
                                   ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...