Submission #926708

#TimeUsernameProblemLanguageResultExecution timeMemory
926708ByeWorld기지국 (IOI20_stations)C++14
0 / 100
4 ms1332 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; } vector <int> te; for(int i=0; i<vec.size(); i++){ te.pb(vec[i]); } sort(te.begin(), te.end()); for(int i=0; i<te.size(); i++){ if(i != te[i]) assert(false); } // 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; } 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 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:41:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |  for(int i=0; i<vec.size(); i++){
      |               ~^~~~~~~~~~~
stations.cpp:45:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |  for(int i=0; i<te.size(); i++){
      |               ~^~~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:65:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |  for(int i=0; i<vec.size(); i++){
      |               ~^~~~~~~~~~~
stations.cpp:70:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   70 |  for(int i=0; i<vec.size(); i++){
      |               ~^~~~~~~~~~~
stations.cpp:64:7: warning: variable 'b' set but not used [-Wunused-but-set-variable]
   64 |  bool b = 0;
      |       ^
stations.cpp:69:6: warning: unused variable 'las' [-Wunused-variable]
   69 |  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...