General
 
 
# 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
→ Source
#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";
        }
        
    }
}
?
Time: ? ms, memory: ? KB
Verdict: ?
Input
?
Participant's output
?
Jury's answer
?
Checker comment
?
Diagnostics
?
Click to see test details