Submission #21871280


Source Code Expand

#include <bits/stdc++.h>

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

#define sf scanf
#define pf printf
#define pb push_back
#define mp make_pair
#define PI ( acos(-1.0) )
#define IN freopen("0 (1)","r",stdin)
#define OUT freopen("output.txt","w",stdout)
#define FOR(i,a,b) for(i=a ; i<=b ; i++)
#define DBG pf("Hi\n")
#define i64 long long int
#define eps (1e-9)
#define xx first
#define yy second
#define ln 17
#define sq(x) ((x)*(x))
#define fastio  ios_base::sync_with_stdio(false); cin.tie(NULL)



using namespace __gnu_pbds;
using namespace std ;

typedef tree< i64, null_type, less<i64>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
typedef pair<i64, i64> pii;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

#define maxn 400005
#define log 20
#define mod 3
#define INF 1500000000000000000LL
#define off 500005

vector<int> g[maxn] ;
int par[maxn] , dis[maxn] ;

pair<int,int> bfs(int src,int n)
{
    for(int i=1 ; i<=n ; i++) dis[i] = -1 , par[i] = 0 ;
    dis[src] = 0 ;
    queue<int> q ;
    q.push(src) ;

    while(!q.empty()){
        int u = q.front() ;
        q.pop() ;
        for(int v:g[u]){
            if( dis[v]==-1 ){
                q.push(v) ;
                dis[v] = dis[u] + 1 ;
                par[v] = u ;
            }
        }
    }
    pair<int,int> ans = mp(-1,-1) ;
    for(int i=1 ; i<=n ; i++) ans = max( ans , mp(dis[i],i) ) ;
    return ans ;
}

int ans[maxn] ;

void dfs(int u, int p, int &cur )
{
 //   printf("%d %d %d\n",u,p,cur) ;

    cur++ ;
    ans[u] = cur ;

    for(int v:g[u]){
        if(v==p || v==par[u]) continue ;
        dfs(v,u,cur) ;
    }

    if( par[u]!=0 && par[u]!=p ) dfs(par[u],u,cur) ;

    cur++ ;
    return ;
}

int main()
{
    int n ;
    scanf("%d",&n) ;

    for(int i=1 ; i<n ; i++){
        int u , v ;
        scanf("%d %d",&u,&v) ;
        g[u].pb(v) ; g[v].pb(u) ;
    }

    int u = bfs(1,n).yy ;
    u = bfs(u,n).yy ;

//    printf("-- %d\n",u) ;
//    for(int i=1 ; i<=n ; i++) printf("%d ",par[i]) ;
//    printf("\n") ;

    bool fl = 0 ;

    int cur = 0 ;
    dfs(u,0,cur) ;

    for(int i=1 ; i<=n ; i++) printf("%d ",ans[i]) ;
    printf("\n") ;

    return 0 ;
}

Submission Info

Submission Time
Task D - Miracle Tree
User Arg_007
Language C++ (GCC 9.2.1)
Score 600
Code Size 2341 Byte
Status AC
Exec Time 142 ms
Memory 34112 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:102:10: warning: unused variable ‘fl’ [-Wunused-variable]
  102 |     bool fl = 0 ;
      |          ^~
./Main.cpp:87:10: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   87 |     scanf("%d",&n) ;
      |     ~~~~~^~~~~~~~~
./Main.cpp:91:14: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   91 |         scanf("%d %d",&u,&v) ;
      |         ~~~~~^~~~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 2
AC × 32
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, sample_01.txt, sample_02.txt
Case Name Status Exec Time Memory
in01.txt AC 13 ms 13152 KiB
in02.txt AC 15 ms 13052 KiB
in03.txt AC 14 ms 13112 KiB
in04.txt AC 142 ms 34112 KiB
in05.txt AC 13 ms 13028 KiB
in06.txt AC 10 ms 13040 KiB
in07.txt AC 15 ms 13192 KiB
in08.txt AC 119 ms 21948 KiB
in09.txt AC 125 ms 21852 KiB
in10.txt AC 131 ms 21756 KiB
in11.txt AC 133 ms 21828 KiB
in12.txt AC 129 ms 21672 KiB
in13.txt AC 131 ms 21884 KiB
in14.txt AC 133 ms 23592 KiB
in15.txt AC 135 ms 27948 KiB
in16.txt AC 131 ms 29960 KiB
in17.txt AC 14 ms 13044 KiB
in18.txt AC 16 ms 13368 KiB
in19.txt AC 81 ms 18884 KiB
in20.txt AC 116 ms 21972 KiB
in21.txt AC 15 ms 13124 KiB
in22.txt AC 11 ms 13048 KiB
in23.txt AC 78 ms 22792 KiB
in24.txt AC 96 ms 21988 KiB
in25.txt AC 120 ms 21824 KiB
in26.txt AC 138 ms 21612 KiB
in27.txt AC 142 ms 21744 KiB
in28.txt AC 130 ms 21892 KiB
in29.txt AC 137 ms 23560 KiB
in30.txt AC 130 ms 27956 KiB
sample_01.txt AC 15 ms 13104 KiB
sample_02.txt AC 14 ms 13016 KiB