Submission #1311321

#TimeUsernameProblemLanguageResultExecution timeMemory
1311321AhmadAlhussainStations (IOI20_stations)C++20
0 / 100
397 ms492 KiB
#include<bits/stdc++.h> #include <vector> using namespace std; const int N=1005; bool check(int a,int b) { if(b<a) { return false; } if(b>>(__builtin_clz(a)-__builtin_clz(b))==a) { return true; } } int a[N]={};vector<int>wss[N]; /*void dfs(int node,int past,int cnt) { a[node]=cnt; vector<int>v={2*cnt+1,2*cnt}; for(int i:wss[node]) { if(i!=past) { dfs(i,node,v.back()); v.pop_back(); } } }*/ std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { int cnt[N]={}; std::vector<int> labels(n); for (int i = 0; i < n-1; i++) { wss[u[i]].push_back(v[i]); wss[v[i]].push_back(u[i]); cnt[u[i]]++; cnt[v[i]]++; } for(int i=0;i<n;i++) { labels[i]=i+1; } for(int i=0;i<n;i++) { wss[i].clear(); a[i]=0; } return labels; } int find_next_station(int s, int t, std::vector<int> c) { if(c.size()>=1&&check(c.size()-1,t)){ return c[c.size()-2]; } if(c.size()>=2&&check(c[c.size()-2],t)){ return c[c.size()-1]; } return c[0]; }

Compilation message (stderr)

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