제출 #773337

#제출 시각아이디문제언어결과실행 시간메모리
773337KhizriPassword (RMI18_password)C++17
100 / 100
196 ms572 KiB
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define F first
#define S second
#define INF 1e18
#define all(v) (v).begin(),(v).end()
#define rall(v) (v).rbegin(),(v).rend()
#define pii pair<int,int>
#define pll pair<ll,ll>
#define OK cout<<"Ok"<<endl;
#define MOD (ll)(1e9+7)
using namespace std;
int query(string q);
int mxn=2e5+5;
int k;
string mrg(string a,string b){
    string x;
    int idx=0;
    for(int i=0;i<a.size();i++){
        for(int j=idx;j<=b.size();j++){
            x=b;
            x.insert(x.begin()+j,a[i]);
            if(query(x)==x.size()){
                b=x;
                idx=j+1;
                break;
            }
        }
    }
    //cout<<a<<endl;
    return b;
}
bool cmp(string a,string b){
    return a.size()<b.size();
}
string guess(int n, int kx){
    char cc='a';
    int k=kx;
    kx--;
    while(kx--){
        cc++;
    }
    vector<string>vt;
    for(char c='a';c<=cc;c++){
        string s="";
        for(int j=1;j<=n;j++){
            s+=c;
        }
        int x=query(s);
        s="";
        //cout<<x<<endl;
        for(int i=1;i<=x;i++){
            s+=c;
        }
        //cout<<s<<endl;
        if(s.size()>0){
            vt.pb(s);
        }
        //c++;
    }
    sort(all(vt),cmp);
    while(vt.size()>1){
        string a=vt[0];
        string b=vt[1];
        string x=mrg(a,b);
        vt.erase(vt.begin());
        vt.erase(vt.begin());
        vt.pb(x);
        sort(all(vt),cmp);
        //cout<<x<<endl;
        //q.push(x);
    }
    return vt[0];
}
//10 26 adfsfgsdfz

컴파일 시 표준 에러 (stderr) 메시지

password.cpp: In function 'std::string mrg(std::string, std::string)':
password.cpp:20:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |     for(int i=0;i<a.size();i++){
      |                 ~^~~~~~~~~
password.cpp:21:24: 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 j=idx;j<=b.size();j++){
      |                       ~^~~~~~~~~~
password.cpp:24:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |             if(query(x)==x.size()){
      |                ~~~~~~~~^~~~~~~~~~
password.cpp: In function 'std::string guess(int, int)':
password.cpp:39:9: warning: unused variable 'k' [-Wunused-variable]
   39 |     int k=kx;
      |         ^
#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...