| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1368112 | cansu_mutlu | Stations (IOI20_stations) | C++20 | 1 ms | 564 KiB |
#include "stations.h"
#include <vector>
#include<bits/stdc++.h>
using namespace std;
const int mxn = 1e3+3;
vector<int> a[mxn];
int cur = 0;
int l[mxn];
void dfs(int s,int anne,int c)
{
if(c==0)
{
l[s] = cur;
}
cur++;
for(int x:a[s])
{
if(x!=anne)
{
dfs(x,s,1-c);
}
}
if(c==1)
{
l[s]=cur;
}
cur++;
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
cur = 0;
for(int i=0;i<n;i++)
{
a[i].clear();
}
vector<int> c(n);
for(int i=0;i<n-1;i++)
{
a[u[i]].push_back(v[i]);
a[v[i]].push_back(u[i]);
}
dfs(0,-1,0);
for(int i=0;i<n;i++)c[i] = l[i];
return c;
}
int find_next_station(int s, int t, std::vector<int> c)
{
int n = c.size();
vector<int> in(n+1);
if(t<s || t>c.back()) return c[0];
c[0] = s;
for(int i=1;i<n;i++)
{
if(t>c[i-1] && t<=c[i]) return c[i];
}
}
Compilation message (stderr)
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
