#include "stations.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std;
#define ii pair<int,int>
#define x first
#define y second
vector<int> labels;
vector<vector<int>> g;
int tme;
// void dfs1(int i,int f=0,int t=0, int s=0){
// int tin=++tme;
// for(auto u:g[i]){
// if(u!=f){
// dfs1(u,i,(t+1)%2,(s+1)%3);
// }
// }
// int tout=tme;
// if(t==0){
// labels[i]=6*tin+3*t+s;
// }
// else{
// labels[i]=6*(tin+tout)+3*t+s;
// }
// }
void dfs1(int i, int f=0){
int tin=++tme;
for(auto u:g[i]){
if(u!=f){
dfs1(u,i);
}
}
int tout=tme;
labels[i]=tin*1000+tout;
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
tme=-1;
labels.assign(n,-1);
for(int i=0; i<n; i++){
labels[i]=i;
}
g.assign(n,vector<int>());
for(int i=0; i<n-1; i++){
g[u[i]].push_back(v[i]);
g[v[i]].push_back(u[i]);
}
dfs1(0);
return labels;
}
ii get(int x){
return ii(x/3%2,x%3);
}
int find_next_station(int s, int t, std::vector<int> c) {
if(t<s){
return c[0];
}
else{
return c[1];
}
// int tin=t/1000;
// int tout=t%1000;
// int sin=s/1000;
// int sout=s%1000;
// int f;
// for(auto i:c){
// int in=i/1000;
// int out=i%1000;
// if(in<sin){
// f=i;
// continue;
// }
// if (tin>=in&&tout<=out){
// return i;
// }
// }
// return f;
// ii r=get(s);
// s/=6;
// vector<pair<ii,int>> cld;
// int f=-1;
// if(r.x==0){
// int prev=s;
// for(auto i:c){
// if(get(i).y!=(r.y+1)%3){
// f=i;
// continue;
// }
// int k=i/6;
// cld.emplace_back(ii(prev+1,k-(prev+1)),i);
// prev=k-(prev+1);
// }
// }
// else{
// for(auto i:c){
// if(get(i).y!=(r.y+1)%3){
// f=i;
// continue;
// }
// if(!cld.empty())
// cld.back().x.y=i/6-1;
// cld.emplace_back(ii(i/6,-1),i);
// }
// if(!cld.empty()){
// cld.back().x.y=s-(cld[0].x.x-1);
// }
// }
// ii h=get(t);
// t/=6;
// for(auto i:cld){
// if(h.x==0&&i.x.x<=t&&i.x.y>=t){
// return i.y;
// }
// else if(h.x==1&&2*i.x.x<=t&&2*i.x.y>=t){
// return i.y;
// }
// }
// return f;
}
/*
1
5 100
0 1
1 2
1 3
2 4
3
0 1 2
1 2 2
1 4 2*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
3 ms |
328 KB |
Invalid labels (values out of range). scenario=0, k=1000, vertex=1, label=6009 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
4 ms |
288 KB |
Invalid labels (values out of range). scenario=0, k=1000, vertex=1, label=1511 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
523 ms |
724 KB |
Wrong query response. |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
861 ms |
400 KB |
Wrong query response. |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
514 ms |
712 KB |
Wrong query response. |
2 |
Halted |
0 ms |
0 KB |
- |