Submission #855649

#TimeUsernameProblemLanguageResultExecution timeMemory
855649franfillPassword (RMI18_password)C++17
0 / 100
2 ms500 KiB
#include<bits/stdc++.h> using namespace std; int query(string str); int query(string S, bool rv) { if (rv) reverse(S.begin(), S.end()); return query(S); } void solve(int i, vector < bool > us, bool rv, string& cur, int N, int S) { if (cur.size() == N) return; for (int c = 0; c < S; c++) if (us[c]) { string tr = cur.substr(0, i); tr += char('a'+c); tr += cur.substr(i, cur.size()-i); if (query(tr, rv) == tr.size()) { cur = tr; solve(i, us, rv, cur, N, S); solve(i+1, us, rv, cur, N, S); return; } else us[c] = false; } } string guess(int N, int S) { string cur; vector < bool > us(S, true); for (int c = 0; c < S; c++) if (query(string(1, c+'a')) == true) { cur = string(1, c+'a'); break; } else us[c] = false; solve(1, us, false, cur, N, S); reverse(cur.begin(), cur.end()); solve(cur.size(), us, true, cur, N, S); reverse(cur.begin(), cur.end()); return cur; }

Compilation message (stderr)

password.cpp: In function 'void solve(int, std::vector<bool>, bool, std::string&, int, int)':
password.cpp:14:17: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   14 |  if (cur.size() == N)
      |      ~~~~~~~~~~~^~~~
password.cpp:22:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |    if (query(tr, rv) == tr.size())
      |        ~~~~~~~~~~~~~~^~~~~~~~~~~~
#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...