답안 #645915

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
645915 2022-09-28T09:20:12 Z Denkata Password (RMI18_password) C++14
20 / 100
93 ms 364 KB
#include<bits/stdc++.h>
//#include "grader.cpp"
using namespace std;
int i,j,p,d,m,k,sz;
int query(string q);
string ans;
vector <pair <int,char>> cnt;
string guess(int n,int s)
{
    ans="";
    ///pisheshe i<='z'
    for(char c='a';c<='z';c++)
    {
        if(c-'a'+1>s)break;
        string f="";
        for(i=1;i<=n;i++)
            f.push_back(c);
        cnt.push_back({query(f),c});
    }
    sort(cnt.begin(),cnt.end());
    sz=cnt.size()-1;
    for(i=1;i<=cnt[sz].first;i++)
        ans.push_back(cnt[sz].second);
    string newans="";
    for(int i=sz-1;i>=0;i--)
    {
        //cout<<ans<<" ans in the beginning"<<endl;
        if(cnt[i].first==0)break;
        int tek=ans.size();
        newans="";
        string l="",r=ans;
        // cout<<l<<" nachalni "<<r<<endl;
        int still=cnt[i].first;
        for(int j=0;j<tek;j++)
        {
            l.push_back(ans[j]);
            r.erase(0,1);
            string f=l;
            for(int g=1;g<=still;g++)
                f.push_back(cnt[i].second);
            if(!r.empty())
                f=f+r;
           // cout<<f<<" for a query"<<endl;
            p=query(f);
            k=p-(int)l.size();
            if(k<still)
            {
                for(int g=1;g<=still-k;g++)
                    newans.push_back(cnt[i].second);
                still=k;///stil-(stil-k)
            }
            newans.push_back(ans[j]);
        }
        for(int g=1;g<=still;g++)
            newans.push_back(cnt[i].second);
        ans="";
        ans=newans;
    }
    return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 208 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 208 KB Guessed the password with 29 queries.
2 Correct 2 ms 300 KB Guessed the password with 116 queries.
3 Correct 2 ms 300 KB Guessed the password with 169 queries.
4 Correct 3 ms 300 KB Guessed the password with 220 queries.
# 결과 실행 시간 메모리 Grader output
1 Runtime error 93 ms 364 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 208 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 208 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -