Submission #331252

#TimeUsernameProblemLanguageResultExecution timeMemory
331252PetiPassword (RMI18_password)C++14
100 / 100
307 ms940 KiB
#include <iostream> #include <vector> using namespace std; int query(string str); string merge_strings(string sa, string sb){ if(sa.size() < sb.size()) swap(sa, sb); int x = 0; for(int i = 0; i < sb.size(); i++){ while(1){ string q = sa; q.insert(q.begin()+x, sb[i]); if(query(q) == (int)q.size()){ sa = q; break; } x++; } x++; } return sa; } string guess(int n, int s){ vector<string> v(s); for(int i = 0; i < s; i++){ char c = (char)((int)'a' + i); string q; q.assign(n, c); v[i].assign(query(q), c); } while(v.size() > 1){ int x = 0; for(int i = 0; i < (int)v.size(); i += 2){ if(i+1 < (int)v.size()) v[x++] = merge_strings(v[i], v[i+1]); else v[x++] = v[i]; } v.resize(x); } return v[0]; }

Compilation message (stderr)

password.cpp: In function 'std::string merge_strings(std::string, std::string)':
password.cpp:13:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |     for(int i = 0; i < sb.size(); i++){
      |                    ~~^~~~~~~~~~~
#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...