제출 #1192855

#제출 시각아이디문제언어결과실행 시간메모리
1192855h1440Stations (IOI20_stations)C++20
0 / 100
1 ms512 KiB
#include "stations.h"
#include <bits/stdc++.h>
#define fore(i,a,b) for(lli i = (a), abcdxd = (b); i < abcdxd; i++)
#define sz(s) (int((s).size()))
#define all(v) (v).begin(), (v).end()
#define pb push_back
using namespace std;
typedef int lli;
typedef vector<lli> vi;

// const lli N = 1e3 + 5;

vector<vi> adj;
vi labels;

lli t = 0;

void dfs(lli u, lli p){
	for(auto & i : adj[u]) if (i != p) dfs(i, u);
	cout << u << ": " << t << endl;
	labels[u] = t; t++;
}

std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
	labels.resize(n);
	adj.resize(n);
	fore(i,0,n-1){
		lli a = u[i], b = v[i];
		adj[a].pb(b);
		adj[b].pb(a);
	}
	dfs(0, -1);
	return labels;
}

int find_next_station(int s, int t, std::vector<int> c) {
	// sort(all(c));
	lli tt = s; swap(tt, c[sz(c)-1]);
	// cout << s << ' ' << t << endl;
	// for (auto & i : c) cout << i << ' '; cout << endl;
	// cout << "---" << endl;
	fore(i,0,sz(c)-1) if (c[i] <= t and t < c[i+1]) return c[i];
	return tt;
}
#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...