Submission #1054632

# Submission time Handle Problem Language Result Execution time Memory
1054632 2024-08-12T11:13:21 Z MrAndria Password (RMI18_password) C++14
Compilation error
0 ms 0 KB
#include <bits/stdc++.h>
#include "grader.cpp"
using namespace std;

string merge(string a,string b){
    string s="",pas="";
    int curr=b.size()-1;
    for(int i=a.size();i>0;i--){
        while(curr>=0){
            s="";
            for(int i1=0;i1<=i-1;i1++){
                s+=a[i1];
            }
            for(int i1=curr;i<=b.size()-1;i1++){
                s+=b[i1];
            }
            // cout<<s<<" "<<b.size()<<endl;
            if(query(s)==s.size()){
                pas+=b[curr];
                curr--;
            }else{
                break;
            }
        }
        pas+=a[i-1];

    }
    // cout<<curr<<endl;
    while(curr>=0){
        pas+=b[curr];
        curr--;
    }
    reverse(pas.begin(),pas.end());
    return pas;
}
string guess(int n, int s){
    cin>>n>>s;
    string s1;
    set <pair <int,string > > se;
    int l;
    for(int j=1;j<=s;j++){
        s1="";
        for(int i=1;i<=n;i++){
            s1+=char(j+'a'-1);
        }

        l=query(s1);
        s1="";
        for(int i=1;i<=l;i++){
            s1+=char(j+'a'-1);
        }
        if(s1.size())se.insert(make_pair(s1.size(),s1));
    }
    while(se.size()>=2){

        auto a=(*(se.begin()));
        se.erase(se.begin());
        auto b=(*(se.begin()));
        se.erase(se.begin());
        s1=merge(a.second,b.second);
        se.insert(make_pair(s1.size(),s1));
    }
    if(se.size()==0)assert(0);
    return (*(se.begin())).second;
}

Compilation message

password.cpp: In function 'std::string merge(std::string, std::string)':
password.cpp:14:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |             for(int i1=curr;i<=b.size()-1;i1++){
      |                             ~^~~~~~~~~~~~
password.cpp:18:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |             if(query(s)==s.size()){
      |                ~~~~~~~~^~~~~~~~~~
/usr/bin/ld: /tmp/ccOpKGPO.o: in function `query(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
grader.cpp:(.text+0x80): multiple definition of `query(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'; /tmp/ccRjFhVR.o:password.cpp:(.text+0x5f0): first defined here
/usr/bin/ld: /tmp/ccOpKGPO.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccRjFhVR.o:password.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status