Submission #1162585

#TimeUsernameProblemLanguageResultExecution timeMemory
1162585cnn008Password (RMI18_password)C++20
Compilation error
0 ms0 KiB
#include "bits/stdc++.h"
using namespace std;
string guess(int n, int s){
    string ans;
    vector <int> cnt(s,0);
    for(int i=0; i<s; i++){
      char c=char('a'+i);
      string cur;
      while(1){
        cur.push_back(c);
        if(query(cur)!=(int)cur.size()){
          cur.pop_back();
          break;
        }
      }
      cnt[i]=(int)cur.size();
    }
    int st=-1;
    for(int i=0; i<s; i++){
      if(cnt[i]){
        char c=char(i+'a');
        for(int j=0; j<cnt[i]; j++) ans.push_back(c);
        st=i;
        break;
      }
    }
    auto ck = [&](char c, int l) ->bool{
      string t;
      t.push_back(c);
      for(int i=0; i<(int)ans.size()-1-l+1; i++) if(ans[i]==c) t.push_back(c);
      for(int i=(int)ans.size()-1-l+1; i<(int)ans.size(); i++) t.push_back(ans[i]);
      return (query(t)==(int)t.size());
    };
    for(int i=st+1; i<s; i++){
      for(int j=0; j<cnt[i]; j++){
        char c=char('a'+i);
        int l=1,r=(int)ans.size(),cc=0;
        while(l<=r){
          int mid=(l+r)>>1;
          if(ck(c,mid)){
            cc=mid;
            l=mid+1;
          }else r=mid-1;
        }
        string _ans;
        for(int i=(int)ans.size()-1; i>=(int)ans.size()-1-cc+1; i--) _ans.push_back(ans[i]);
        _ans.push_back(c);
        for(int i=(int)ans.size()-1-cc+1-1; i>=0; i--) _ans.push_back(ans[i]);
        reverse(_ans.begin(),_ans.end());
        ans.swap(_ans);
        cerr<<"db:"<<ans<<"\n";
      }
    }
    return ans;
  }

Compilation message (stderr)

password.cpp: In function 'std::string guess(int, int)':
password.cpp:11:12: error: 'query' was not declared in this scope
   11 |         if(query(cur)!=(int)cur.size()){
      |            ^~~~~
password.cpp: In lambda function:
password.cpp:32:15: error: 'query' was not declared in this scope
   32 |       return (query(t)==(int)t.size());
      |               ^~~~~