제출 #849582

#제출 시각아이디문제언어결과실행 시간메모리
849582dungzNetwork (BOI15_net)C++17
0 / 100
3 ms12276 KiB
//#pragma GCC optimize ("O2") #include<bits/stdc++.h> using namespace std; #define ll long long #define fi first #define se second #define endl '\n' #define task "task" #define task "task" #define prll pair<ll,ll> #define pb push_back #define ld long double const ll MIN=-1e18,MAX=1e18,MOD=1e9+7; vector<int> a[500005]; vector<int> leaves; void dfs(int u,int par) { for(auto i:a[u]) { if(i!=par) { if(a[i].size()==1) leaves.push_back(i); else dfs(i,u); } } } int main(){ //freopen (task".inp", "r", stdin); //freopen (task".out", "w", stdout); ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int n; cin>>n; for(int i=1;i<n;i++) { int x,y; cin>>x>>y; a[x].push_back(y); a[y].push_back(x); } dfs(1,0); // for(auto i:leaves) cout<<i<<" "; // cout<<endl; if(leaves.size()%2==0) { cout<<leaves.size()/2<<endl; for(int i=0;i<=leaves.size()/2-1;i++) { cout<<leaves[i]<<" "<<leaves[i+leaves.size()/2]<<endl; } } else { cout<<leaves.size()/2+1<<endl; for(int i=0;i<=leaves.size()/2-1;i++) { cout<<leaves[i]<<" "<<leaves[i+leaves.size()/2+1]<<endl; } cout<<leaves[leaves.size()/2]<<" "<<1<<endl; } } /* */

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

net.cpp: In function 'int main()':
net.cpp:46:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |   for(int i=0;i<=leaves.size()/2-1;i++)
      |               ~^~~~~~~~~~~~~~~~~~~
net.cpp:54:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |   for(int i=0;i<=leaves.size()/2-1;i++)
      |               ~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...