Submission #1191536

#TimeUsernameProblemLanguageResultExecution timeMemory
1191536viduxCombo (IOI18_combo)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;

#define LOCAL

typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> pii;

#ifdef LOCAL
int press(string p) {
	cout << p << ": ";
	int x; cin >> x;
	return x;
}
#else
#include "combo.h"
#endif

string guess_sequence(int n) {
	string a;
	string all = "ABXY";
	string cur = "ABXY";
	{ // Find first
		int ab = press("AB");
		if (ab) {
			int x = press(string(1, 'A'));
			if (x) a = 'A', cur = "BXY";
			else   a = 'B', cur = "AXY";
		}
		else {
			int x = press(string(1, 'X'));
			if (x) a = 'X', cur = "ABY";
			else   a = 'Y', cur = "ABX";
		}
	}

    if (n == 1) return a;

	{ // Find middle
		for (int i = 1; i < n-1; i++) {
			string guess = a+cur[0] + a+cur[1]+cur[0] + a+cur[1]+cur[1] + a+cur[1]+cur[2];
			int score = press(guess);
			if (score == i+1) a += cur[0];
			if (score == i+2) a += cur[1];
			if (score == i+0) a += cur[2];
		}
	}
	
	{ // Find last
		if (press(a + cur[0]) == n) a += cur[0];
		else if (press(a + cur[1]) == n) a += cur[1];
		else a += cur[2];
	}

	return a;
}

#ifdef LOCAL
int main() {
	int n; cin >> n;
	cout << guess_sequence(n) << endl;
	return 0;
}
#endif

Compilation message (stderr)

/usr/bin/ld: /tmp/ccbzsnsX.o: in function `press(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
grader.cpp:(.text+0x0): multiple definition of `press(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'; /tmp/cc1XOVTG.o:combo.cpp:(.text+0xc0): first defined here
/usr/bin/ld: /tmp/ccbzsnsX.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc1XOVTG.o:combo.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status