Submission #1237572

#TimeUsernameProblemLanguageResultExecution timeMemory
1237572karel기지국 (IOI20_stations)C++20
0 / 100
1 ms416 KiB
#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define all(a) begin(a), end(a)
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> ii;
typedef vector<ii> vii;

vvi edges;
int c = 0;
vector<int> labels;
vi visited;

void dfs(int at, int from)
{
    visited[at] = true;
    for(auto to: edges[at])
    {
        if(to != from && !visited[to])
        {
            dfs(to, at);
        }
    } 
    labels[at] = c++;
}

std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {

    edges.resize(n);
    labels.resize(n);
    visited.resize(n, false);

    for(int i = 0; i < u.size(); i++)
    {
        if(u[i] >= n || v[i] >= n)
            return {};
        edges[u[i]].push_back(v[i]);
        edges[v[i]].push_back(u[i]);
    }

    dfs(0, -1);

	return {};
}


int find_next_station(int s, int t, std::vector<int> c) {
    if(t > s)
        return c.back();

    auto it = lower_bound(all(c), t);
    if(it == c.end())
        return c.back();

    return *it;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...