답안 #308154

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
308154 2020-09-30T06:47:07 Z jwvg0425 기지국 (IOI20_stations) C++17
0 / 100
881 ms 1024 KB
#include "stations.h"
#include <stdio.h>
#include <vector>
#include <queue>
#include <algorithm>
#include <iostream>
#include <string>
#include <bitset>
#include <map>
#include <set>
#include <tuple>
#include <string.h>
#include <math.h>
#include <random>
#include <functional>
#include <assert.h>
#include <math.h>
#define all(x) (x).begin(), (x).end()
#define xx first
#define yy second

using namespace std;

template<typename T, typename Pr = less<T>>
using pq = priority_queue<T, vector<T>, Pr>;
using i64 = long long int;
using ii = pair<int, int>;
using ii64 = pair<i64, i64>;

struct Solver
{
	vector<int> edge[1005];
	int in[1005] = { 0, }, out[1005] = { 0, };
	int vis = 0;

	void dfs(int root)
	{
		in[root] = vis;
		vis++;

		for (auto& e : edge[root])
		{
			edge[e].erase(find(all(edge[e]), root));
			dfs(e);
		}

		out[root] = vis;
	}
};

vector<int> label(int n, int k, vector<int> u, vector<int> v)
{
	Solver s;
	for (int i = 0; i < n - 1; i++)
	{
		s.edge[u[i]].push_back(v[i]);
		s.edge[v[i]].push_back(u[i]);
	}

	s.dfs(0);

	vector<int> res(n);
	for (int i = 0; i < n; i++)
		res[i] = s.in[i] * 1000 + s.out[i];

	return res;
}

int find_next_station(int s, int t, vector<int> c)
{
	int ti = t / 1000;
	int to = t % 1000;
	int si = s / 1000;
	int so = s % 1000;
	int p = c[0];

	for (auto& e : c)
	{
		int ei = e / 1000;
		int eo = e % 1000;

		if (ei <= ti && eo >= to)
			return e;

		if (ei <= si && eo >= so)
			p = e;
	}

	return p;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 512 KB Invalid labels (values out of range). scenario=0, k=1000, vertex=1, label=6010
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 6 ms 384 KB Invalid labels (values out of range). scenario=0, k=1000, vertex=1, label=1512
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 554 ms 1024 KB Wrong query response.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 881 ms 768 KB Output is correct
2 Incorrect 814 ms 768 KB Wrong query response.
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 590 ms 1024 KB Wrong query response.
2 Halted 0 ms 0 KB -