Submission #1166184

#TimeUsernameProblemLanguageResultExecution timeMemory
1166184sanoCave (IOI13_cave)C++20
Compilation error
0 ms0 KiB
#include "cave.h"
#include<iostream>
#include<vector>
#include<queue>
#include<deque>
#include<string>
#include<fstream>
#include<algorithm>
#include <iomanip>
#include<map>
#include <set>
#include <unordered_map>
#include <stack>
#include <unordered_set>
#include <cmath>
#include <cstdint>
#define shit short int
#define ll long long
#define For(i, n) for(ll i = 0; i < (ll)n; i++)
#define ffor(i, a, n) for(ll i = (ll)a; i < (ll)n; i++)
#define rfor(i, n) for(ll i = (ll)n; i >= (ll)0; i--)
#define rffor(i, a, n) for(ll i = (ll)n; i >= (ll)a; i--)
#define vec vector
#define ff first
#define ss second
#define pb push_back
#define pii pair<ll, ll>
#define NEK 2000000000
#define mod 998244353
#define mod2 1000000009
#define rsz resize 
#define prv1 43
#define prv2 47
#define D 8
#define trav(a,x) for (auto& a: x)
#define pb push_back
#define ub upper_bound
#define lb lower_bound
#define sig 0.0000001

using namespace std;

int n;

int tryCombination(int s[]){
	For(i, n) cout << s[i] << " \n"[i == n - 1];
	int x; cin >> x;
	return x;
}

void answer(int s[], int d[]) {
	For(i, n) cout << s[i] << " \n"[i == n - 1];
	For(i, n) cout << d[i] << " \n"[i == n - 1];
	return;
}

int s[5000];

int zisti(vec<int>&nevieme, int hladame, int pos) {
	int l = 0, r = nevieme.size() - 1;
	For(i, nevieme.size()) s[nevieme[i]] = 1 - hladame;
	while (l < r) {
		int mid = (l + r) / 2;
		ffor(i, l, mid + 1) s[nevieme[i]] = hladame;
		int x = tryCombination(s);
		if (x == -1) x = n - 1;
		ffor(i, l, mid + 1) s[nevieme[i]] = 1 - hladame;
		if (x > pos) r = mid;
		else l = mid + 1;
	}
	return l;
}

void exploreCave(int n1) {
	n = n1;
	int d[5000];
	vec<int> nevieme;
	For(i, n) nevieme.push_back(i);
	For(i, n){
		for (auto i : nevieme) s[i] = 0;
		int x = tryCombination(s);
		if (x == -1) {
			x = n + 1;
		}
		int hladame = 1;
		if (x > i) hladame = 0;
		int odp = zisti(nevieme, hladame, i);
		s[nevieme[odp]] = hladame;
		d[nevieme[odp]] = i;
		swap(nevieme[odp], nevieme.back());
		nevieme.pop_back();
	}
	answer(s, d);
	return;
}

/*
signed main() {
	ll t;
	//cin >> t;
	t = 1;
	For(w, t) {
		int n; cin >> n;
		exploreCave(n);
	}
	return 0;
}*/

Compilation message (stderr)

/usr/bin/ld: /tmp/cczMpxXi.o: in function `answer':
grader.c:(.text+0x0): multiple definition of `answer'; /tmp/cc2fgYh9.o:cave.cpp:(.text+0xd0): first defined here
/usr/bin/ld: /tmp/cczMpxXi.o: in function `tryCombination':
grader.c:(.text+0x80): multiple definition of `tryCombination'; /tmp/cc2fgYh9.o:cave.cpp:(.text+0x0): first defined here
collect2: error: ld returned 1 exit status