Submission #1292851

#TimeUsernameProblemLanguageResultExecution timeMemory
1292851lucasdmyStations (IOI20_stations)C++20
0 / 100
398 ms592 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; const int MAXN=1010; vector<int>graph[MAXN], labels, sub_size(MAXN), inv(MAXN); int c=0; void dfs(int x, int p){ labels[x]=c; inv[c]=x; c++; sub_size[x]=0; for(int k=0;k<graph[x].size();k++){ if(graph[x][k]!=p){ dfs(graph[x][k], x); sub_size[x]+=1+sub_size[graph[x][k]]; } } } vector<int>label(int n, int m, vector<int>a, vector<int>b){ for(int k=0;k<n;k++){ graph[k].clear(); } labels.resize(n); vector<int>deg(n, 0); for(int k=0;k<n-1;k++){ graph[a[k]].push_back(b[k]); graph[b[k]].push_back(a[k]); deg[a[k]]++; deg[b[k]]++; } c=0; for(int k=0;k<n;k++){ if(deg[k]==1){ dfs(k, 0); break; } } return labels; } int find_next_station(int at, int end, vector<int>adj){ if(adj.size()==1){ return adj[0]; }else if(end<at){ return adj[0]; }else{ return adj[1]; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...