제출 #43763

#제출 시각아이디문제언어결과실행 시간메모리
43763PowerOfNinjaGoNetwork (BOI15_net)C++14
63 / 100
6 ms6052 KiB
//Power Of Ninja Go #include <bits/stdc++.h> //#ifdef atom #else #endif using namespace std; typedef long long ll; typedef pair<int, int> ii; #define X first #define Y second #define vi vector<int> #define vii vector< ii > #define pb push_back const int maxn = 1e5+5; vi adj[maxn]; vi leaf; void dfs(int u, int p) { bool found = 0; for(auto v : adj[u]) { if(v == p) continue; dfs(v, u); found = 1; } if(!found) leaf.pb(u); } int main() { //#ifndef atom freopen(".in", "r", stdin); freopen(".out", "w", stdout); #endif int n; scanf("%d", &n); for(int i = 0; i< n-1; i++) { int u, v; scanf("%d %d", &u, &v); adj[u].pb(v); adj[v].pb(u); } int s = 1; for(int i = 1; i<= n; i++) if(adj[i].size()> 1) s = i; dfs(s, 0); printf("%d\n", (leaf.size()+1)/2); int mid = (leaf.size()+1)/2; for(int i = 0; i< mid; i++) { printf("%d %d\n", leaf[i], leaf[min((int) leaf.size()-1, mid+i)]); } }

컴파일 시 표준 에러 (stderr) 메시지

net.cpp: In function 'int main()':
net.cpp:37:37: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<int>::size_type {aka long unsigned int}' [-Wformat=]
     printf("%d\n", (leaf.size()+1)/2);
                                     ^
net.cpp:28:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     int n; scanf("%d", &n);
                           ^
net.cpp:31:41: 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...