제출 #756921

#제출 시각아이디문제언어결과실행 시간메모리
756921ElyesChaabouniPassword (RMI18_password)C++17
10 / 100
252 ms420 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
int query(string str);
string str, endChars, build, tmp, nEnd;
string guess(int n, int s) {
  endChars="";
 
  vector<int> freq(s);
  for (int i = 0; i < s; i++) {
    str="";
    for (int it = 0; it < n; it++) {
      str += (i + 'a');
    }
    freq[i] = query(str);
  }
 
  for (int pos = n - 1; pos >= 0; pos--) {
    for (int i = 0; i < s; i++) {
      if (freq[i] > 0) {
        build="";
        for (int it = 0; it < freq[i]; it++) {
          build += (i + 'a');
        }
        bool work = true;
 
        if ((int) build.size() + 1 + (int) endChars.size() <= n) {
          for (int j = 0; j < s; j++) {
            tmp="";
            tmp += build;
            tmp += (j + 'a');
            tmp += endChars;
 
            if (query(tmp) == (int) tmp.length()) {
              work = false;
              break;
            }
          }
        }
 
        if (work) {
          freq[i] -= 1;
          nEnd="";
          nEnd += (i + 'a');
          nEnd += endChars;
          swap(nEnd, endChars);
          break;
        }
      }
    }
  }
  return endChars;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...