Submission #1181413

#TimeUsernameProblemLanguageResultExecution timeMemory
1181413guagua0407Stations (IOI20_stations)C++20
8 / 100
298 ms588 KiB
#include "stations.h" //#include "stub.cpp" #include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<int,int> #define all(x) x.begin(),x.end() #define _ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { vector<vector<int>> adj(n); for(int i=0;i<n-1;i++){ adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } vector<int> st(n),en(n); int timer=-1; function<void(int,int)> dfs=[&](int v,int p){ st[v]=++timer; for(auto u:adj[v]){ if(u==p) continue; dfs(u,v); } en[v]=timer; }; int root=0; for(int i=0;i<n;i++){ if((int)adj[i].size()==1) root=i; } dfs(root,-1); vector<int> label(n); for(int i=0;i<n;i++){ label[i]=i+1; //cout<<i<<' '<<label[i]<<'\n'; } return label; } int find_next_station(int s, int t, std::vector<int> C) { int a=__builtin_clz(s); int b=__builtin_clz(t); //cout<<s<<' '<<t<<'\n'; if(a>b and (t>>(a-b))==s){ //cout<<"b"<<'\n'; for(auto v:C){ int c=__builtin_clz(v); if(c==a-1 and c>=b and (t>>(c-b))==v){ return v; } } } else{ for(auto v:C){ int c=__builtin_clz(v); if(c>a) return v; } } //cout<<s<<' '<<t<<'\n'; }

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:59:1: warning: control reaches end of non-void function [-Wreturn-type]
   59 | }
      | ^
#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...