Submission #1311320

#TimeUsernameProblemLanguageResultExecution timeMemory
1311320AhmadAlhussainStations (IOI20_stations)C++20
0 / 100
390 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()>=2&&check(c.size()-1,t)){
        return c[c.size()-2];
    }
    if(c.size()>=1&&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...