Submission #207461

#TimeUsernameProblemLanguageResultExecution timeMemory
207461aloo123Combo (IOI18_combo)C++14
5 / 100
1 ms200 KiB
#include <bits/stdc++.h> #include <combo.h> #define ll long long #define ld long double #define f first #define s second #define mp make_pair #define pb push_back #define vll vector<ll> using namespace std; const ll N = 3e5+100; const ll MOD = 1e9+7; string guess_sequence(int N){ if(N == 3){ string s; for(int i = 0;i<N;i++){ for(char lol :{'X','Y','A','B'}){ string tmp = s; tmp += lol; if(press(tmp) == (s.size()+1)){ s = tmp; break; } } } return s; } char c; for(char lol :{'X','Y','A','B'}){ string s; s+=lol; if(press(s) == 1){ c=lol; break; } } string s; s += c; for(int i = 1;i<N-1;i++){ string query = s; if(c == 'A'){ query += "B"; query+=s; query+="XB"; query+=s; query += "XX"; query += s; query += "XY"; int lol = press(query); int n = s.size(); if(lol == n){ s += "Y"; } if(lol == (n+1)){ s += "B"; } if(lol == (n+2)){ s += "X"; } } if(c == 'B'){ query += "A"; query+=s; query+="XA"; query+=s; query += "XX"; query += s; query += "XY"; int lol = press(query); int n = s.size(); if(lol == n){ s += "Y"; } if(lol == (n+1)){ s += "A"; } if(lol == (n+2)){ s += "X"; } } if(c == 'X'){ query += "Y"; query+=s; query+="AY"; query+=s; query += "AA"; query += s; query += "AB"; int lol = press(query); int n = s.size(); if(lol == n){ s += "B"; } if(lol == (n+1)){ s += "Y"; } if(lol == (n+2)){ s += "A"; } } if(c == 'Y'){ query += "X"; query+=s; query+="AX"; query+=s; query += "AA"; query += s; query += "AB"; int lol = press(query); int n = s.size(); if(lol == n){ s += "B"; } if(lol == (n+1)){ s += "X"; } if(lol == (n+2)){ s += "A"; } } } for(char lol :{'X','Y','A','B'}){ string ss=s; ss+=lol; if(press(ss) == N){ s = ss; break; } } return s; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:24:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |    if(press(tmp) == (s.size()+1)){
      |       ~~~~~~~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...