# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1080323 | Jawad_Akbar_JJ | Stations (IOI20_stations) | C++17 | 2 ms | 600 KiB |
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 <iostream>
#include <vector>
using namespace std;
const int N1 = 1005;
vector<int> nei[N1];
int d[N1], num[N1], c = 0;
bool seen[N1];
void dfs1(int u, int p = -1){
num[u] = c++;
for (int i : nei[u])
if (i != p)
dfs1(i, u);
}
vector<int> label(int n, int k, vector<int> u, vector<int> v){
for (int i=0;i<n-1;i++){
nei[u[i]].push_back(v[i]);
nei[v[i]].push_back(u[i]);
d[u[i]]++;
d[v[i]]++;
}
vector<int> lab(n, 0);
int mx = 0;
for (int i=0;i<n;i++)
if (d[i] > d[mx])
mx = i;
if (d[mx] <= 2){
int cur;
for (int i=0;i<n;i++)
if (d[i] == 1)
cur = i;
dfs1(cur);
for (int i=0;i<n;i++)
lab[i] = num[i];
return lab;
}
return lab;
}
int find_next_station(int s, int t, vector<int> lab){
if (lab.size() == 1)
return lab[0];
if (lab.size() == 2){
if (abs(lab[0] - t) < abs(lab[1] - t))
return lab[0];
return lab[1];
}
}
Compilation message (stderr)
# | 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... |