답안 #1111190

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1111190 2024-11-11T16:48:55 Z sofija6 Password (RMI18_password) C++14
컴파일 오류
0 ms 0 KB
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
#include <stdlib.h>
#include <assert.h>
#include <bits/stdc++.h>

using namespace std;

string Merge(string a,string b)
{
    int posa=0,posb=0;
    string ans="";
    while (posa<a.size() && posb<b.size())
    {
        string d="";
        d+=a[posa];
        for (int j=posb;j<b.size();j++)
            d+=(char)b[j];
        if (query(d)==(int)d.size())
        {
            ans+=a[posa];
            posa++;
        }
        else
        {
            ans+=b[posb];
            posb++;
        }
    }
    for (int i=posa;i<a.size();i++)
        ans+=a[i];
    for (int i=posb;i<b.size();i++)
        ans+=b[i];
    return ans;
}
bool Cmp(string a,string b)
{
    return a.size()<b.size();
}
string guess(int n, int s)
{
    vector<string> cur,cur1;
    for (int i=0;i<s;i++)
    {
        string ss="";
        for (int j=0;j<n;j++)
            ss+=(char)('a'+i);
        int len=query(ss);
        if (len)
        {
            ss="";
            for (int j=0;j<len;j++)
                ss+=(char)('a'+i);
            cur.push_back(ss);
        }
    }
    while (cur.size()!=1)
    {
        sort(cur.begin(),cur.end(),Cmp);
        string a=cur[0],b=cur[1];
        for (int i=2;i<cur.size();i++)
            cur1.push_back(cur[i]);
        cur=cur1;
        cur1.clear();
        cur.push_back(Merge(a,b));
    }
    return cur[0];
}

Compilation message

password.cpp: In function 'std::string Merge(std::string, std::string)':
password.cpp:15:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     while (posa<a.size() && posb<b.size())
      |            ~~~~^~~~~~~~~
password.cpp:15:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     while (posa<a.size() && posb<b.size())
      |                             ~~~~^~~~~~~~~
password.cpp:19:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |         for (int j=posb;j<b.size();j++)
      |                         ~^~~~~~~~~
password.cpp:21:13: error: 'query' was not declared in this scope
   21 |         if (query(d)==(int)d.size())
      |             ^~~~~
password.cpp:32:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |     for (int i=posa;i<a.size();i++)
      |                     ~^~~~~~~~~
password.cpp:34:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |     for (int i=posb;i<b.size();i++)
      |                     ~^~~~~~~~~
password.cpp: In function 'std::string guess(int, int)':
password.cpp:50:17: error: 'query' was not declared in this scope
   50 |         int len=query(ss);
      |                 ^~~~~
password.cpp:63:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   63 |         for (int i=2;i<cur.size();i++)
      |                      ~^~~~~~~~~~~