This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#include "stations.h"
#define ll long long
using namespace std;
int N,K,in[1005],out[1005],vrem=0;
vector<int> stablo[1005],L;
void dfs(int gde,int pret){
// cout<<gde<<" dfs "<<pret<<endl;
in[gde]=vrem;
vrem++;
for(int i=0;i<stablo[gde].size();i++)
if(stablo[gde][i]!=pret)
dfs(stablo[gde][i],gde);
out[gde]=vrem;
return;
}
vector<int> label(int n,int k,vector<int> u,vector<int> v){
N=n;
K=k;
for(int i=0;i<N-1;i++){
stablo[u[i]].push_back(v[i]);
stablo[v[i]].push_back(u[i]);
}
dfs(0,0);
L.clear();
for(int i=0;i<N;i++){
// cout<<in[i]<<" "<<out[i]<<endl;
L.push_back(in[i]*1000+out[i]);
}
vrem=0;
for(int i=0;i<N;i++)
stablo[i].clear();
return L;
}
struct slog{
int in,out;
}niz[1005],tren,tar;
bool isparent(slog a,slog b){
return a.in<=b.in and a.out>=b.out;
}
int find_next_station(int s,int t,vector<int> c){
if(s==t)
return t;/*
cout<<s<<" "<<t<<" | ";
for(int i=0;i<c.size();i++)
cout<<c[i]<<" ";
cout<<endl;*/
N=c.size();
for(int i=0;i<N;i++){
niz[i].in=c[i]/1000;
niz[i].out=c[i]%1000;
}
tar.in=t/1000;
tar.out=t%1000;
tren.in=s/1000;
tren.out=s%1000;/*
cout<<tren.in<<" "<<tren.out<<" "<<tar.in<<" "<<tar.out<<" | ";
for(int i=0;i<c.size();i++)
cout<<niz[i].in<<" "<<niz[i].out<<" ";
cout<<endl;*/
for(int i=0;i<N;i++)
if(isparent(niz[i],tren)){
swap(niz[i],niz[N-1]);
swap(c[i],c[N-1]);
N--;
break;
}/*
cout<<"BEZ RODITELJA"<<endl;
for(int i=0;i<c.size();i++)
cout<<niz[i].in<<" "<<niz[i].out<<" ";
cout<<endl;*/
for(int i=0;i<N;i++)
if(isparent(niz[i],tar)){
//cout<<niz[i].in<<" par "<<
return c[i];
}
return c[N];
}
Compilation message (stderr)
stations.cpp: In function 'void dfs(int, int)':
stations.cpp:11:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
11 | for(int i=0;i<stablo[gde].size();i++)
| ~^~~~~~~~~~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |