Submission #709206

# Submission time Handle Problem Language Result Execution time Memory
709206 2023-03-13T08:16:42 Z beepbeepsheep Password (RMI18_password) C++17
10 / 100
76 ms 2128 KB
    #include <bits/stdc++.h>
    using namespace std;
    int arr[26];
    int query(string s);
    string build(string s, char c, int pos){
        string ret="";
        for (int i=0;i<pos;i++){
            ret+=s[i];
        }
        ret+=c;
        for (int i=pos;i<s.size();i++){
            ret+=s[i];
        }
        return ret;
    }
    string mrg(string a, string b){
        if (a.size()>b.size()) swap(a,b);
        if (a=="") return b;
        string ans=b;
        int l=0,r=ans.size()+1,m;
        for (int i=0;i<a.size();i++){
            for (int m=l;m<=r;m++){
                string test=build(ans,a[i],m);
                int res=query(test);
                if (res==test.length()){
                    l=m+1;
                    ans=build(ans,a[i],m);
                    break;
            }
            cerr<<ans<<endl;
        }
    }
    return ans;
    }
    string dup(char c, int n){
        string ret="";
        for (int i=0;i<n;i++) ret+=c;
        return ret;
    }
    string guess(int n, int s){
        for (int i=0;i<s;i++){
            arr[i]=query(dup(i+'a',n));
        }
        string ans="";
        for (int i=0;i<s;i++){
            ans=mrg(ans,dup(i+'a',arr[i]));
        }
        return ans;
    }

Compilation message

password.cpp: In function 'std::string build(std::string, char, int)':
password.cpp:11:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |         for (int i=pos;i<s.size();i++){
      |                        ~^~~~~~~~~
password.cpp: In function 'std::string mrg(std::string, std::string)':
password.cpp:21:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |         for (int i=0;i<a.size();i++){
      |                      ~^~~~~~~~~
password.cpp:25:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |                 if (res==test.length()){
      |                     ~~~^~~~~~~~~~~~~~~
password.cpp:20:32: warning: unused variable 'm' [-Wunused-variable]
   20 |         int l=0,r=ans.size()+1,m;
      |                                ^
# Verdict Execution time Memory Grader output
1 Correct 2 ms 208 KB Guessed the password with 75 queries.
2 Correct 3 ms 208 KB Guessed the password with 188 queries.
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 208 KB Returned early from guess() after 31 queries.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 76 ms 2128 KB Returned early from guess() after 3767 queries.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 208 KB Guessed the password with 75 queries.
2 Correct 3 ms 208 KB Guessed the password with 188 queries.
3 Incorrect 1 ms 208 KB Returned early from guess() after 31 queries.
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 208 KB Guessed the password with 75 queries.
2 Correct 3 ms 208 KB Guessed the password with 188 queries.
3 Incorrect 1 ms 208 KB Returned early from guess() after 31 queries.
4 Halted 0 ms 0 KB -