Submission #223713

#TimeUsernameProblemLanguageResultExecution timeMemory
223713bharat2002Combo (IOI18_combo)C++14
Compilation error
0 ms0 KiB
/*input

*/
#include "combo.h"
using namespace std;
//Trace prints the name of the variable and the value.

/*int press(string st)
{
	cout<<st<<":";int ret;cin>>ret;return ret;
}*/
void fl();
string ans;char fc;
string guess_sequence(int n)
{
	
	ans="";char arr[5]={'A', 'B', 'X', 'Y'};
	fl();
	char c1='0', c2='0', c3='0';
	for(int j=0;j<4;j++)
	{
		if(arr[j]==fc) continue;
		if(c1=='0') c1=arr[j];
		else if(c2=='0') c2=arr[j];
		else c3=arr[j];
	}
	for(int i=2;i<n;i++)
	{
		string temp=ans;temp+=c1;temp+=ans;temp+=c2;temp+=c1;temp+=ans;temp+=c2;temp+=c2;temp+=ans;temp+=c2;temp+=c3;
		assert(temp.size()<=4*n);
		int ct=press(temp);
		if(ct<i) ans+=c3;
		else if(ct==i) ans+=c1;
		else ans+=c2;
	}
	fl();
	return ans;
}
void fl()
{
	string temp=ans;
	temp+="AB";assert(temp.size()<=4*n);
	int ct=press(temp);
	ct-=ans.size();
	if(ct>0)
	{
		temp.pop_back();assert(temp.size()<=4*n);
		ct=press(temp);
		ct-=ans.size();
		if(ct>0)
		{
			fc='A';
			ans+="A";
		}
		else
		{
			ans+="B";fc='B';
		}	
	}
	else
	{
		temp.pop_back();temp.pop_back();temp+="X";assert(temp.size()<=4*n);
		ct=press(temp);ct-=ans.size();
		if(ct>0)
		{
			ans+="X";fc='X';
		}
		else
		{
			ans+="Y";fc='Y';
		}	
	}
}


/*signed main()
{
	ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
//	guess_sequence(5);
//	cout<<"Answer:"<<ans;
}*/

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:30:21: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   30 |   assert(temp.size()<=4*n);
      |          ~~~~~~~~~~~^~~~~
combo.cpp:30:3: error: 'assert' was not declared in this scope
   30 |   assert(temp.size()<=4*n);
      |   ^~~~~~
combo.cpp:5:1: note: 'assert' is defined in header '<cassert>'; did you forget to '#include <cassert>'?
    4 | #include "combo.h"
  +++ |+#include <cassert>
    5 | using namespace std;
combo.cpp: In function 'void fl()':
combo.cpp:42:35: error: 'n' was not declared in this scope
   42 |  temp+="AB";assert(temp.size()<=4*n);
      |                                   ^
combo.cpp:42:13: error: 'assert' was not declared in this scope
   42 |  temp+="AB";assert(temp.size()<=4*n);
      |             ^~~~~~
combo.cpp:42:13: note: 'assert' is defined in header '<cassert>'; did you forget to '#include <cassert>'?