| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1311127 | moha1111 | Stations (IOI20_stations) | C++20 | 405 ms | 480 KiB |
#include "bits/stdc++.h"
#include "stations.h"
using namespace std;
int ok = 1;
vector<int> label(int n, int k, vector<int> u, vector<int> v)
{
vector<int> graph[n + 5];
for(int i = 0 ; i < n - 1 ; i++)
{
graph[u[i]].push_back(v[i]);
graph[v[i]].push_back(u[i]);
}
int cur = 0;
for(int i = 0 ; i < n ; i++)
{
if(graph[i].size() > 2)
ok = 0;
}
if(ok == 1)
{
for(int i = 0 ; i < n ; i++)
{
if(graph[i].size() == 1)
{
cur = i;
break;
}
}
vector<int> la(n , 0);
int p = -1;
for(int i = 1 ; i <= n ; i++)
{
la[cur] = i;
int next = -1;
for(int j : graph[cur])
{
if(j != p)
next = j;
}
p = cur;
cur = next;
}
return la;
}
vector<int> la(n , 0);
for(int i = 0 ; i < n ; i++)
la[i] = i;
return la;
}
bool good(int node , int tar)
{
while(node >= tar)
{
if(node == tar)
return 1;
node-- , node /= 2;
}
return (node == tar);
}
int find_next_station(int s, int t, vector<int> c)
{
if(ok)
{
if(c.size() == 1)
return c[0];
if(s < t)
return c[1];
else
return c[0];
}
else
{
for(auto i : c)
{
if(good(i , t))
return i;
}
}
}
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... | ||||
