Submission #807410

#TimeUsernameProblemLanguageResultExecution timeMemory
807410OAleksaCombo (IOI18_combo)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "combo.h"
#define f first
#define s second
using namespace std;
// 
// int press(string p) {
	// cout << p << endl;
	// int x;
	// cin >> x;
	// return x;
// }
// 

string guess_sequence(int N) {
	string s;
	if(N == 1) {
		if(press("A"))
			return "A";
		else if(press("B"))
			return "B";
		else if(press("X"))
			return "X";
		else
			return "Y";
	}
	if(press("AB")) {
		if(press("A"))
			s += "A";
		else
			s += "B";
	}
	else {
		if(press("X"))
			s += "X";
		else
			s += "Y";
	}
	for(int i = 1;i < N - 1;i++) {
		if(s[0] == 'A') {
			int x = press(s + "BB" + s + "BX" + s + "BY" + s + "Y");
			if(x == i)
				s += "X";
			else if(x == i + 1)
				s += "Y";
			else
				s += "B";
		}
		else if(s[0] == 'B') {
			int x = press(s + "AA" + s + "AX" + s + "AY" + s + "Y");
			if(x == i)
				s += "X";
			else if(x == i + 1)
				s += "Y";
			else
				s += "A";
		}
		else if(s[0] == 'X') {
			int x = press(s + "AA" + s + "AB" + s + "AY" + s + "Y");
			if(x == i)
				s += "B";
			else if(x == i + 1)
				s += "Y";
			else
				s += "A";
		}
		else {
			int x = press(s + "AA" + s + "AB" + s + "AY" + s + "X");
			if(x == i)
				s += "B";
			else if(x == i + 1)
				s += "X";
			else
				s += "A";
		}
	}
	int k = s.size();
	if(s[0] == "A") {
		if(press(s + "B") > k)
			s += "B";
		else if(press(s + "X") > k)
			s += "X";
		else
			s += "Y";
	}
	else if(s[0] == "B") {
		if(press(s + "A") > k)
			s += "A";
		else if(press(s + "X") > k)
			s += "X";
		else
			s += "Y";
	}
	else if(s[0] == "X") {
		if(press(s + "A") > k)
			s += "A";
		else if(press(s + "B") > k)
			s += "B";
		else
			s += "Y";
	}
	else {
		if(press(s + "B") > k)
			s += "B";
		else if(press(s + "X") > k)
			s += "X";
		else
			s += "A";
	}
	return s;
}

// 
// int main()
// {
	  // ios_base::sync_with_stdio(false);
	  // cin.tie(0);
	  // cout.tie(0);
	  // int tt = 1;
		// //cin >> tt;
	  // while(tt--) {
			// int n;
			// cin >> n;
			// cout << guess_sequence(n) << endl;
		// }
    // return 0;
// }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:78:10: warning: comparison with string literal results in unspecified behavior [-Waddress]
   78 |  if(s[0] == "A") {
combo.cpp:78:10: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
combo.cpp:86:15: warning: comparison with string literal results in unspecified behavior [-Waddress]
   86 |  else if(s[0] == "B") {
combo.cpp:86:15: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
combo.cpp:94:15: warning: comparison with string literal results in unspecified behavior [-Waddress]
   94 |  else if(s[0] == "X") {
combo.cpp:94:15: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]