?
# | Author | Problem | Lang | Verdict | Time | Memory | Sent | Judged | |
---|---|---|---|---|---|---|---|---|---|
73269111 |
Contestant: gurpreet_ait |
1325C - 7 | C++14 (GCC 6-32) | Wrong answer on pretest 4 | 15 ms | 1964 KB | 2020-03-14 19:25:15 | 2020-03-14 19:25:18 |
#include<bits/stdc++.h> #define ll long long int using namespace std; map<pair<int,int>,int> mp1; vector<int> v[100001]; int vis[100001]; int fl1=0,fl2=0; int k=0,a[100001]; void dfs(int i) { vis[i]=1; int p=0; for(auto j : v[i]) { if(vis[j]==0) { p++; } } if(p>2) { fl1=1; int r=0; for(auto j : v[i]){ if(vis[j]==0) { mp1[{i,j}]=r++;; } } return; } else if(p==2&&i!=1) { fl1=1; int r=1; for(auto j: v[i]) { if(vis[j]==0) mp1[{i,j}]=r++; } return; } else if(i==1) { mp1[{1,v[1][0]}]=0; } for(int j : v[i]) { if(vis[j]==0) dfs(j); } } int main() { int n;cin>>n; int p[n],q[n]; for(int i=0;i<n-1;i++) { cin>>p[i]>>q[i]; v[p[i]].push_back(q[i]); v[q[i]].push_back(p[i]); } dfs(1); int k=1; if(fl1==1) { //cout<<"YES\n"; k=3; } for(int i=0;i<n-1;i++) { if((mp1.find({p[i],q[i]})==mp1.end())&&(mp1.find({q[i],p[i]})==mp1.end())) mp1[{p[i],q[i]}]=k,k++; //else // cout<<p[i] <<" "<<q[i]<<" "mp1[{p[i],q[i]}]<<"\n"; } for(int i=0;i<n-1;i++) { if(mp1.find({p[i],q[i]})==mp1.end()) cout<<mp1[{q[i],p[i]}]<<"\n"; else { cout<<mp1[{p[i],q[i]}]<<"\n"; } } }
?
?
?
?