답안 #58588

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
58588 2018-07-18T10:43:12 Z Mamnoon_Siam CEOI16_icc (CEOI16_icc) C++17
0 / 100
277 ms 748 KB
#include "icc.h"
#include <bits/stdc++.h>
using namespace std;

namespace {
	const int maxn = 105;

	int n;
	int ok[maxn][maxn];

};

int ask(vector<int> x, vector<int> y) {
	int size_a = x.size(), size_b = y.size();
	int a[size_a], b[size_b];
	for(int i = 0; i < size_a; i++) a[i] = x[i];
	for(int i = 0; i < size_b; i++) b[i] = y[i];
	return query(size_a, size_b, a, b);
}

int chex(int u) {
	vector<int> a = {u}, b;
	for(int i = 1; i <= n; i++) {
		if(i != u and !ok[u][i]) {
			b.push_back(i);
		}
	}
	if(b.empty()) return 0;
	return ask(a, b);
}
int find_another(int u) {
	for(int i = 1; i <= n; i++) {
		if(i != u and !ok[u][i]) {
			if(ask({u}, {i})) {
				return i;
			}
		}
	} assert(false);
}

void run(int N) {
	memset(ok, 0, sizeof ok);
	n = N;
	int rnd = n - 1;
	while(rnd--) {
		int u = 0;
		for(int i = 1; i <= n; i++)
			if(chex(i)) { u = i; break; }
		int v = find_another(u);
		setRoad(u, v);
		ok[u][v] = ok[v][u] = 1;
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 28 ms 504 KB Ok! 301 queries used.
2 Incorrect 15 ms 740 KB Wrong road!
# 결과 실행 시간 메모리 Grader output
1 Incorrect 31 ms 740 KB Wrong road!
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 253 ms 748 KB Wrong road!
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 255 ms 748 KB Wrong road!
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 277 ms 748 KB Number of queries more than 3550 out of 1775
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 271 ms 748 KB Number of queries more than 3250 out of 1625
2 Halted 0 ms 0 KB -