제출 #926678

#제출 시각아이디문제언어결과실행 시간메모리
926678ByeWorld기지국 (IOI20_stations)C++14
0 / 100
4 ms1180 KiB
#include "stations.h" #include <vector> #include <bits/stdc++.h> #define fi first #define se second #define pb push_back using namespace std; typedef pair<int,int> pii; typedef pair<pii,int> ipii; const int MAXN = 1e3+10; int n, k; vector <int> adj[MAXN]; int x, sta; int ans[MAXN][MAXN]; void dfs(int nw, int par){ ans[sta][nw] = x; for(auto nx : adj[nw]){ if(nx == par) continue; dfs(nx, nw); } } vector <int> vec; int dep[MAXN], inv[MAXN], cnt; void df(int nw, int par=-1){ vec.pb(nw); dep[nw] = cnt; inv[cnt] = nw; cnt++; for(auto in : adj[nw]){ if(in==par) continue; df(in, nw); } } vector<int> label(int N, int K, vector<int> u, vector<int> v) { n = N; k = K; for(int i=0; i<=n; i++) adj[i].clear(); for(int i=0; i<n-1; i++){ adj[u[i]].pb(v[i]); adj[v[i]].pb(u[i]); } // for(int i=0; i<n; i++){ // start // sta = i; // for(auto in : adj[i]){ // x = in; // dfs(in, i); // } // } // for(int i=0; i<n; i++){ // for(int j=0; j<n; j++){ // if(i==j) continue; // //cout << i << ' ' << j << ' ' << ans[i][j] << " p\n"; // } // } for(int i=0; i<n; i++){ if(adj[i].size() == 1){ vec.clear(); cnt = 0; df(i); break; } } // for(auto in : vec) cout << in << 'p'; // for(int i=0; i<n; i++){ // cout << i << ' '<< dep[i] << ' ' << inv[i] << " p\n"; // } vector<int> labels(n); for (int i = 0; i < n; i++) { labels[i] = i; } return labels; } int find_next_station(int s, int t, vector<int> c) { int te = 0; if(s != vec[dep[s]]) assert(false); if(t != vec[dep[t]]) assert(false); if(dep[s] < dep[t]){ // s ... t return vec[dep[s]+1]; } else { // t ... s if(dep[s]-1 < 0) assert(false); return vec[dep[s]-1]; } // bool b = 0; // for(auto in : c) // if(in == te) b = 1; // if(!b) assert(false); return te; }
#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...