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 |
|
|
| 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 |