제출 #590733

#제출 시각아이디문제언어결과실행 시간메모리
590733proma기지국 (IOI20_stations)C++17
5 / 100
870 ms652 KiB
#include "stations.h"
#include <vector>
#include <bits/stdc++.h>

using namespace std;

vector <int> g[1005];

void dfs(int v, int p, int lab, vector <int> &labels) {
    labels[v] = lab ++;
    for (auto i: g[v]) {
        if (i != p) dfs(i, v, lab, labels);
    }
}

vector<int> label(int n, int k, vector<int> u, vector<int> v) {
	vector<int> labels(n), deg(n);
    for (int i = 0; i <= n; i ++) {
        g[i].clear();
    }
    for (int i = 0; i < n - 1; i ++) {
        deg[u[i]] ++;
        deg[v[i]] ++;
        g[u[i]].push_back(v[i]);
        g[v[i]].push_back(u[i]);
    }
    for (int i = 0; i < n; i ++) {
        if (deg[i] == 1) {
            dfs(i, -1, 0, labels);
            break;
        }
    }/*
    for (auto i: labels) {
        cout << i << " ";
    } cout << endl;*/
	return labels;
}

int find_next_station(int s, int t, vector<int> c) {
	if (c.size() == 1) return c[0];
	if (s < t and s) return c[1];
	return c[0];
}
#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...