답안 #229241

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
229241 2020-05-03T22:36:38 Z MetB Burza (COCI16_burza) C++14
16 / 160
174 ms 25208 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
 
using namespace __gnu_pbds;
 
#define N 1000003
 
using namespace std;
 
typedef long long ll;
typedef unsigned long long ull;
 
const ll INF = 1e18, MOD = 1e9 + 7, MOD2 = 1e6 + 3;

int n, k, ptr;
bitset <1 << 21> d[400];

vector <int> g[N];
vector < pair <int, int> > v[500];

pair <int, int> dfs (int x, int p, int h) {
	if (h == k) {
		if (h) v[++ptr].push_back ({ptr, h - 1});
		return {ptr, ptr};
	}

	int l = 0, r = 0;

	for (int to : g[x]) {
		if (to != p) {
			auto a = dfs (to, x, h + 1);
			if (!l) l = a.first;
			r = a.second;
		}
	}

	if (h && l) v[r].push_back ({l, h - 1});

	return {l, r};
}

int main () {
	cin >> n >> k;

	for (int i = 0; i < n - 1; i++) {
		int a, b;
		cin >> a >> b;
		a--, b--;
		g[a].push_back (b);
		g[b].push_back (a);
	}

	if (k * k >= n) {
		cout << "DA";
		return 0;
	}

	dfs (0, -1, 0);

	d[0][0] = 1;
	for (int i = 1; i <= ptr; i++) {
		for (int j = 0; j < (1 << k); j++) {
			for (auto a : v[i]) {
				if (j & (1 << a.second)) {
					d[i][j] = d[i][j] | d[a.first - 1][j ^ (1 << a.second)];
				}
			}
		}
	}

	for (int j = 0; j < (1 << k); j++)
		if (d[ptr][j]) {
			cout << "DA";
			return 0;
		}

	cout << "NE";
}
# 결과 실행 시간 메모리 Grader output
1 Correct 36 ms 24312 KB Output is correct
2 Correct 157 ms 25208 KB Output is correct
3 Correct 18 ms 23808 KB Output is correct
4 Correct 18 ms 23808 KB Output is correct
5 Correct 19 ms 24832 KB Output is correct
6 Incorrect 18 ms 23936 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Correct 149 ms 24952 KB Output is correct
2 Correct 139 ms 25000 KB Output is correct
3 Correct 18 ms 23808 KB Output is correct
4 Correct 18 ms 23808 KB Output is correct
5 Correct 136 ms 24952 KB Output is correct
6 Incorrect 19 ms 25088 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Correct 158 ms 25080 KB Output is correct
2 Correct 139 ms 25080 KB Output is correct
3 Correct 18 ms 23808 KB Output is correct
4 Correct 19 ms 23808 KB Output is correct
5 Incorrect 19 ms 24576 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 54 ms 24824 KB Output is correct
2 Correct 153 ms 25208 KB Output is correct
3 Correct 19 ms 23808 KB Output is correct
4 Correct 19 ms 23808 KB Output is correct
5 Correct 19 ms 24448 KB Output is correct
6 Incorrect 19 ms 23936 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Correct 136 ms 24824 KB Output is correct
2 Correct 163 ms 24952 KB Output is correct
3 Correct 19 ms 23808 KB Output is correct
4 Correct 20 ms 23808 KB Output is correct
5 Incorrect 21 ms 24832 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 164 ms 25084 KB Output is correct
2 Correct 148 ms 24952 KB Output is correct
3 Correct 19 ms 23808 KB Output is correct
4 Correct 18 ms 23808 KB Output is correct
5 Incorrect 20 ms 24960 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 143 ms 25080 KB Output is correct
2 Correct 147 ms 24952 KB Output is correct
3 Correct 19 ms 23808 KB Output is correct
4 Correct 19 ms 23808 KB Output is correct
5 Incorrect 146 ms 24824 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 44 ms 24568 KB Output is correct
2 Correct 159 ms 25080 KB Output is correct
3 Correct 18 ms 23808 KB Output is correct
4 Correct 19 ms 23808 KB Output is correct
5 Incorrect 19 ms 24448 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 30 ms 24192 KB Output is correct
2 Correct 136 ms 25108 KB Output is correct
3 Correct 19 ms 23808 KB Output is correct
4 Correct 19 ms 23808 KB Output is correct
5 Correct 20 ms 24448 KB Output is correct
6 Correct 20 ms 24832 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 74 ms 24440 KB Output is correct
2 Correct 174 ms 25080 KB Output is correct
3 Correct 20 ms 23808 KB Output is correct
4 Correct 19 ms 23936 KB Output is correct
5 Incorrect 77 ms 24444 KB Output isn't correct
6 Halted 0 ms 0 KB -