Submission #857079

#TimeUsernameProblemLanguageResultExecution timeMemory
857079alicanyazCombo (IOI18_combo)C++14
5 / 100
1 ms596 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp> // Common file
#include <ext/pb_ds/tree_policy.hpp> // Including tree_order_statistics_node_update
#include <ext/pb_ds/detail/standard_policies.hpp>
#define xc3(x) (x*(x-1)*(x-2)/6)
#define xc2(x) ((x)*((x)-1)/2)
#define abs(x) ((x)>0?(x):-((x)))
#define min(x,y) ((x)>(y)?(y):(x))
//#define debug 1
using namespace std;
using namespace __gnu_pbds;
//void FILEREAD(){freopen("text_input.txt","r",stdin);freopen("output.txt","w",stdout);}
#define ll long long
#define ull unsigned long long
#define pi pair<int,int>
#define pll pair<long long,long long>
#define pli pair<long long,int>
#define pil pair<int,long long>
#define vi vector<int>
#define vll vector<long long>
#define vpi vector<pair<int,int>>
#define vpll vector<pair<long long,long long>>
#define vvi vector<vector<int>>
#define vvll vector<vector<long long>>
#define vvpi vector<vector<pair<int,int>>>
#define vvpll vector<vector<pair<long,long>>>
#define vec vector
#define pr pair
#define fi first
#define se second
#define fr(i,j) for(int i=0;i<j;i++)
#define testcase(x) int x;cin>>x;while(x--)solve()
#define vecinp(v) for(auto &in_vx:v)cin>>in_vx
#define pb push_back
typedef tree<ll,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> ordered_Set;
ordered_Set os;
#define MAX 99999997
#define MOD 92182
#define maxM 1000005

#include<combo.h>
string guess_sequence(int N){
	string K = "";
	#define sz K.size()
	char inital = '#';
	// find the inital one
	int r = press("AB");if(r)inital = (press("A")==1?'A':'B');else inital = (press("X")==1?'X':'Y');
	K += inital;
	char C1='B',C2='X',C3='Y';
	if(inital == 'B'){C1='A';}
	if(inital == 'X'){C2='A';}
	if(inital == 'Y'){C3='A';}
	// find the middle ones
	for(int i=1;i<N-1;i++){
		string qs="";
		// K+X+FILL(X) + K+X+FILL(Y) + K+X+FILL(B) + K+Y
		qs+=K;qs+=C1;qs+=C1;
		qs+=K;qs+=C1;qs+=C2;
		qs+=K;qs+=C1;qs+=C3;
		qs+=K;qs+=C2;
		r = press(qs);
		if(r == sz)K+=C3;
		else if(r == sz+1)K+=C2;
		else K+=C1;
	}
	// find the last one
	string qs = "";
	qs+=K;qs+=C1;
	qs+=K;qs+=C2;
	r = press(qs);
	if(r == sz+1){
		qs = K;qs+=C1;
		r = press(qs);
		if(r == sz+1)K+=C1;
		else K+=C2;
	}
	else{
		K+=C3;
	}
	return K;
}
/*
int main(){
    int N,K; N = 11; K = 12;
    cin>>N>>K;
    int H[N-1][2];
    int L[N-1];
    for(int i=0;i<N-1;i++){
        cin >> H[i][0] >> H[i][1] >> L[i];
    }
    cout << best_path(N,K,H,L);
}*/

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:62:8: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   62 |   if(r == sz)K+=C3;
      |        ^
combo.cpp:63:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   63 |   else if(r == sz+1)K+=C2;
      |           ~~^~~~~~~
combo.cpp:71:7: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   71 |  if(r == sz+1){
      |     ~~^~~~~~~
combo.cpp:74:8: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   74 |   if(r == sz+1)K+=C1;
      |      ~~^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...