Submission #926701

#TimeUsernameProblemLanguageResultExecution timeMemory
926701ByeWorldStations (IOI20_stations)C++14
0 / 100
4 ms1208 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 = 2e3+10; int n, k; vector <int> adj[MAXN]; vector <int> vec; int dep[MAXN]; void make(int id, int par, int dp){ vec.pb(id); dep[id] = dp; for(auto in : adj[id]){ if(in == par) continue; make(in, id, dp+1); } } vector<int> label(int N, int K, vector<int> u, vector<int> v) { n = N; k = K; vec.clear(); for(int i=0; i<=n; i++){ adj[i].clear(); dep[i] = -1; } 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++){ if(adj[i].size() != 1) continue; make(i, -1, 0); break; } // for(int i=0; i<n; i++){ // for(int j=0; j<n; j++){ // if(i!=j && dep[i]==dep[j]) assert(false); // } // } vector<int> labels(n); for (int i = 0; i < n; i++) { labels[i] = i; } // for(auto in : vec) cout << in << " p\n"; // for(int i=0; i<n; i++) cout << i << ' ' << dep[i] << " xx\n"; return labels; } int find_next_station(int s, int t, vector<int> c) { //if(s>=n || t>=n) assert(0); bool b = 0; for(int i=0; i<vec.size(); i++){ if(vec[i] == s) b = 1; } if(!b) assert(false); int las = -1, ans = -1; for(int i=0; i<vec.size(); i++){ if(i!=0 && vec[i-1]==s){ ans = vec[i]; break; } if(vec[i]==t) break; } for(int i=vec.size()-1; i>=0; i--){ if(i!=n-1 && vec[i+1]==s){ ans = vec[i]; break; } if(vec[i]==t) break; } return ans; }

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:57:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |  for(int i=0; i<vec.size(); i++){
      |               ~^~~~~~~~~~~
stations.cpp:63:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   63 |  for(int i=0; i<vec.size(); i++){
      |               ~^~~~~~~~~~~
stations.cpp:62:6: warning: unused variable 'las' [-Wunused-variable]
   62 |  int las = -1, ans = -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...