#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e3 + 7;
int cnt, lb[MAXN];
vector < int > adj[MAXN];
void dfs( int v, int p ) {
lb[v] = cnt++;
if ( v > 10 ) {
return;
}
for ( auto u: adj[v] ) {
if ( u != p ) {
dfs( u, v );
}
}
if ( p != -1 ) {
lb[v] *= 1000;
lb[v] += cnt;
}
else {
lb[v] *= 1000;
lb[v]++;
}
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
for ( int i = 0; i < n - 1; i++ ) {
adj[ u[i] ].push_back( v[i] );
adj[ v[i] ].push_back( u[i] );
}
int mx = -1, rt = 0;
for ( int i = 0; i < n; i++ ) {
if ( (int)adj[i].size() > mx ) {
mx = adj[i].size();
rt = i;
}
}
cnt = 0;
dfs( rt, -1 );
vector < int > lbs;
for ( int i = 0; i < n; i++ ) {
lbs.push_back( lb[i] );
}
return lbs;
}
int find_next_station(int s, int t, std::vector<int> c) {
return 0;
int i = s / 1000;
int j = t / 1000;
if ( s == 1 ) {
for ( auto v: c ) {
int x = v / 1000, y = v % 1000;
if ( j >= x && j <= y ) {
return v;
}
}
}
int pr = -1;
for ( auto v: c ) {
int x = v / 1000, y = v % 1000;
if ( x < i ) {
pr = v;
}
if ( j >= x && j <= y ) {
return v;
}
}
return pr;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1125 ms |
2097156 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
440 KB |
Invalid labels (values out of range). scenario=0, k=1000, vertex=0, label=1009 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1547 ms |
2097156 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1077 ms |
636 KB |
Wrong query response. |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1901 ms |
2097156 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |