답안 #391537

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
391537 2021-04-19T09:06:40 Z ljuba 기지국 (IOI20_stations) C++17
0 / 100
1101 ms 888 KB
#include "stations.h"
#include <vector>
#include <bits/stdc++.h>

using namespace std; 

const int mxN = 1100;
vector<int> adj[mxN];

std::vector<int> labels;
int timer = 0;

void dfs(int s, int p, int pa) {
    if(pa^1)
        labels[s] = timer++;
    for(auto e : adj[s]) {
        if(e == p) continue;
        dfs(e, s, pa^1);
    }
    if(pa)
        labels[s] = timer++;
}

std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
    for(int i = 0; i < n; ++i) {
        adj[i].clear();
    }
    timer = 0;
    for(int i = 0; i < n-1; ++i) {
        adj[u[i]].push_back(v[i]);
        adj[v[i]].push_back(u[i]);
    }
    labels.resize(n);
    dfs(0, -1, 0);
    return labels;
}

int find_next_station(int s, int t, std::vector<int> c) {
    sort(c.begin(), c.end());
    if(s < c[0]) {
        //in ostali out
        for(auto e : c) {
            if(t >= s && t <= e)
                return e;
        }

        return c.back();
    } else {
        reverse(c.begin(), c.end());
        for(auto e : c) {
            if(t <= s && t >= e)
                return e;
        }
        return c[0];
    }
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 788 ms 656 KB Wrong query response.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 586 ms 580 KB Wrong query response.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 559 ms 644 KB Wrong query response.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1101 ms 400 KB Output is correct
2 Correct 863 ms 400 KB Output is correct
3 Incorrect 712 ms 520 KB Wrong query response.
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 590 ms 888 KB Wrong query response.
2 Halted 0 ms 0 KB -