Submission #1335100

#TimeUsernameProblemLanguageResultExecution timeMemory
1335100trandaihao5555Stations (IOI20_stations)C++20
0 / 100
398 ms568 KiB
#include "stations.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std;

#define pb push_back

typedef vector<int> vi;

const int MaxN = 1e6+7;

int Tin[MaxN],cnt = 0;
vi adj[MaxN];

void dfs(int u,int p) {
    Tin[u] = cnt++;
    for (int v : adj[u]) {
        if (v == p) continue;
        dfs(v,u);
    }
}

std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
//	std::vector<int> labels(n);
//	for (int i = 0; i < n; i++) {
//		labels[i] = i;
//	}
//	return labels;
    for (int i=0;i<u.size();i++) {
        int U = u[i];
        int V = v[i];
        adj[U].pb(V);
        adj[V].pb(U);
    }
    dfs(0,-1);
    vi res;
    for (int i=0;i<n;i++) res.pb(Tin[i]);
    cnt = 0;
    for (int i=0;i<n;i++) adj[i].clear();
    return res;
}

int find_next_station(int s, int t, std::vector<int> c) {
    sort(c.begin(),c.end());
    if (s > t) swap(s,t);
    vi::iterator it = lower_bound(c.begin(),c.end(),t);
    it--;
	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...