제출 #550596

#제출 시각아이디문제언어결과실행 시간메모리
550596krit3379Stations (IOI20_stations)C++17
0 / 100
788 ms5408 KiB
#include<bits/stdc++.h>
using namespace std;
#include"stations.h"
#define N 100005

int st[N],en[N],sz;
vector<int> g[N];

void dfs(int s,int f){
    st[s]=++sz;
    for(auto x:g[s]){
        if(x==f)continue;
        dfs(x,s);
    }
    en[s]=sz;
}

vector<int> label(int n, int k, vector<int> u, vector<int> v){
    int i,a,b;
    vector<int> vec;
    for(i=0;i<n;i++)g[i].clear(),vec.push_back(i);
    for(i=0;i<n-1;i++){
        a=u[i],b=v[i];
        g[a].push_back(b);
        g[b].push_back(a);
    }
    sz=0;
    dfs(0,-1);
    return vec;
}

int find_next_station(int s, int t,vector<int> c){
    if(st[s]<=st[t]&&st[t]<=en[s]){
        for(auto x:c){
            if(st[s]<=st[x]&&st[x]<=st[t]&&st[t]<=en[x])return x;
        }
    }
    else{
        for(auto x:c){
            if(st[x]<st[s])return x;
        }
    }
}

컴파일 시 표준 에러 (stderr) 메시지

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