#include "stations.h"
#include <vector>
#include<bits/stdc++.h>
using namespace std ;
const int N = 1e3 + 3 ;
vector<int> adj[N];
map<int , int > fd ;
int now ;
void dfs(int u , int p , int d){
if(d > 3)return ;
fd[u] = now ;
for(auto f : adj[u]){
if(f != p)
dfs(f , u , d + 1);
}
}
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
vector<int> labels(n);
for(int i = 0 ;i < n; i ++)adj[i].clear();
// clear
for(int i = 0 ; i < n - 1 ; i ++){
adj[u[i]].push_back(v[i]);
adj[v[i]].push_back(u[i]);
}
for(int i = 0 ; i < n ; i ++){
if(adj[i].size() == 1)
now = i , dfs(i , -1 , 0);
}
for(int i = 0 ; i < n ; i ++){
string s = "" ;
for(auto f : adj[i])s.push_back(f + 48);
s.push_back(fd[i] + '0');
s.push_back(i + 48);
while(s.size() < 9)s.insert(0 , "9");
if(s[0] == '0')swap(s[0] , s[1]);
labels[i] = stoi(s);
}
return labels;
}
int find_next_station(int s, int t,vector<int> c) {
if(c.size() == 1)return c[0];
for(auto f : c){
map<int , int > mp ;
int tmp ;
tmp = t ;
int idx = -1 ;
while(tmp){
idx ++ ;
if(idx != 7)mp[tmp % 10] ++ ;
tmp /= 10;
}
mp.erase(9);
tmp = f ;
idx = -1 ;
while(tmp){
idx ++ ;
if(idx != 7 && mp.count(tmp % 10) && tmp % 10 != s % 10){
return f ;
}
tmp /= 10 ;
}
}
string str = to_string(c[0]);
int a = str[1] - '0';
if(a == t % 10)return c[0];
else return c[1];
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
4 ms |
312 KB |
Invalid labels (values out of range). scenario=0, k=1000, vertex=0, label=999999690 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
9 ms |
316 KB |
Invalid labels (values out of range). scenario=0, k=1000, vertex=0, label=999991200 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
4 ms |
328 KB |
Invalid labels (values out of range). scenario=0, k=1000000, vertex=0, label=999999110 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
904 ms |
488 KB |
Output is correct |
2 |
Incorrect |
642 ms |
536 KB |
Wrong query response. |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
4 ms |
416 KB |
Invalid labels (duplicates values). scenario=1, label=99999 |
2 |
Halted |
0 ms |
0 KB |
- |