# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1174830 | khanhphucscratch | Stations (IOI20_stations) | C++20 | 309 ms | 568 KiB |
#include "stations.h"
#include<bits/stdc++.h>
using namespace std;
//Subtask 1
vector<int> ad[1005];
int deg[1005], tin[1005], tout[1005], dfsc = 0;
bool visited[1005];
void dfs(int u)
{
visited[u] = 1; tin[u] = ++dfsc;
for(int v : ad[u]) if(visited[v] == 0){
dfs(v);
}
tout[u] = dfsc;
}
vector<int> label(int n, int k, vector<int> a, vector<int> b)
{
for(int i = 0; i < n; i++){
deg[i] = 0; ad[i].clear(); visited[i] = 0;
}
for(int i = 0; i < n-1; i++){
deg[a[i]]++; deg[b[i]]++;
ad[a[i]].push_back(b[i]);
ad[b[i]].push_back(a[i]);
}
dfsc = 0; dfs(0);
vector<int> ans(n);
for(int i = 0; i < n; i++) ans[i] = (tin[i]-1) * 1000 + tout[i] - 1;
return ans;
}
# | 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... |