Submission #552902

#TimeUsernameProblemLanguageResultExecution timeMemory
552902fcmalkcinCombo (IOI18_combo)C++17
5 / 100
1 ms292 KiB
#include "combo.h" #include<bits/stdc++.h> using namespace std; #define ll int #define pll pair<ll,ll> #define ff first #define ss second //#define endl "\n" #define pb push_back #define F(i,a,b) for(ll i=a;i<=b;i++) const ll maxn=4e6+3000; const ll base=2e9; const ll mod= 1e9+7 ; mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count()); /*ll press(string t) { cout <<t<<endl; ll x; cin>> x; return x; }*/ string guess_sequence(ll n) { ll p=press("AB"); set<char> st; st.insert('A'); st.insert('B'); st.insert('X'); st.insert('Y'); string res; if (p) { ll p=press("A"); if (p) st.erase('A'),res.pb('A'); else st.erase('B'),res.pb('B'); } else { ll p=press("X"); if (p) st.erase('X'),res.pb('X'); else st.erase('Y'),res.pb('Y'); } for (int i=2; i<=n-1; i++) { string pt; for (auto to:st) { pt+=res; pt.pb(*st.begin()); pt.pb(to); } ll cnt=0; for (auto to:st) { cnt++; if (cnt==2) { pt+=res; pt.pb(to); break; } } ll p=press(pt); ll h=0; if (p==res.length()+2) { h=1; } else if (p==res.length()+1) { h=2; } else { h=3; } cnt=0; for (auto to:st) { cnt++; if (cnt==h) { res.pb(to); } } } ll cnt=0; for (auto to:st) { cnt++; if (cnt==3) break; string pt=res; pt.pb(to); if (press(pt)==n) { res=pt; break; } } if (res.length()!=n) { auto it=st.end(); it--; res.pb(*it); } return res; } /*int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); if (fopen("t.inp","r")) { freopen("test.inp","r",stdin); freopen("test.out","w",stdout); } cout <<guess_sequence(7); }*/

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:75:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   75 |         if (p==res.length()+2)
      |             ~^~~~~~~~~~~~~~~~
combo.cpp:79:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   79 |         else if (p==res.length()+1)
      |                  ~^~~~~~~~~~~~~~~~
combo.cpp:111:21: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  111 |     if (res.length()!=n)
      |         ~~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...