답안 #207073

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
207073 2020-03-06T10:34:05 Z istlemin Password (RMI18_password) C++14
100 / 100
280 ms 600 KB
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")

using namespace std;

#define rep(i, a, b) for(ll i = a; i < ll(b); ++i)
#define rrep(i, a, b) for(ll i = b-1; i >= ll(a); --i)
#define trav(a, x) for(auto& a : x)
#define all(x) x.begin(), x.end()
#define sz(x) (ll)(x).size()
typedef long long ll;
typedef pair<ll, ll> pii;
typedef vector<ll> vi;

int query(string str);

string combine(string a, string b){
    string ans = "";
    //cout<<a<<" "<<b<<endl;
    while(b.size()&&a.size()){
        if(query(ans+b[0]+a)==sz(ans)+sz(a)+1){
            ans += b[0];
            b.erase(b.begin());
        } else {
            ans += a[0];
            a.erase(a.begin());
        }
    }
    ans+=b;
    ans+=a;
    //cout<<ans<<endl;
    return ans;
}

string guess(int n, int s){
    vector<string> v;

    rep(i,0,s) {
        v.push_back(string(query(string(n,'a'+i)),'a'+i));
        //cout<<v.back()<<endl;
    }
    while(v.size()>=2){
        vector<string> newV;
        rep(i,0,v.size()/2) newV.push_back(combine(v[2*i],v[2*i+1]));
        if(v.size()%2==1) newV.push_back(v.back());
        v = newV;
    }
    return v[0];
}
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 248 KB Guessed the password with 60 queries.
2 Correct 6 ms 280 KB Guessed the password with 102 queries.
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 504 KB Guessed the password with 48 queries.
2 Correct 6 ms 376 KB Guessed the password with 116 queries.
3 Correct 6 ms 248 KB Guessed the password with 91 queries.
4 Correct 7 ms 248 KB Guessed the password with 198 queries.
# 결과 실행 시간 메모리 Grader output
1 Correct 38 ms 376 KB Guessed the password with 3472 queries.
2 Correct 57 ms 248 KB Guessed the password with 5024 queries.
3 Correct 70 ms 376 KB Guessed the password with 6859 queries.
4 Correct 71 ms 324 KB Guessed the password with 9074 queries.
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 248 KB Guessed the password with 60 queries.
2 Correct 6 ms 280 KB Guessed the password with 102 queries.
3 Correct 5 ms 504 KB Guessed the password with 48 queries.
4 Correct 6 ms 376 KB Guessed the password with 116 queries.
5 Correct 6 ms 248 KB Guessed the password with 91 queries.
6 Correct 7 ms 248 KB Guessed the password with 198 queries.
7 Correct 38 ms 376 KB Guessed the password with 3472 queries.
8 Correct 57 ms 248 KB Guessed the password with 5024 queries.
9 Correct 70 ms 376 KB Guessed the password with 6859 queries.
10 Correct 71 ms 324 KB Guessed the password with 9074 queries.
11 Correct 159 ms 376 KB Guessed the password with 13607 queries.
12 Correct 113 ms 376 KB Guessed the password with 11101 queries.
13 Correct 163 ms 504 KB Guessed the password with 14700 queries.
14 Correct 142 ms 460 KB Guessed the password with 13486 queries.
15 Correct 149 ms 504 KB Guessed the password with 14842 queries.
16 Correct 136 ms 452 KB Guessed the password with 13539 queries.
17 Correct 174 ms 376 KB Guessed the password with 16237 queries.
18 Correct 139 ms 376 KB Guessed the password with 13757 queries.
19 Correct 170 ms 452 KB Guessed the password with 16675 queries.
20 Correct 125 ms 504 KB Guessed the password with 12435 queries.
21 Correct 189 ms 376 KB Guessed the password with 17140 queries.
22 Correct 134 ms 504 KB Guessed the password with 14500 queries.
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 248 KB Guessed the password with 60 queries.
2 Correct 6 ms 280 KB Guessed the password with 102 queries.
3 Correct 5 ms 504 KB Guessed the password with 48 queries.
4 Correct 6 ms 376 KB Guessed the password with 116 queries.
5 Correct 6 ms 248 KB Guessed the password with 91 queries.
6 Correct 7 ms 248 KB Guessed the password with 198 queries.
7 Correct 38 ms 376 KB Guessed the password with 3472 queries.
8 Correct 57 ms 248 KB Guessed the password with 5024 queries.
9 Correct 70 ms 376 KB Guessed the password with 6859 queries.
10 Correct 71 ms 324 KB Guessed the password with 9074 queries.
11 Correct 159 ms 376 KB Guessed the password with 13607 queries.
12 Correct 113 ms 376 KB Guessed the password with 11101 queries.
13 Correct 163 ms 504 KB Guessed the password with 14700 queries.
14 Correct 142 ms 460 KB Guessed the password with 13486 queries.
15 Correct 149 ms 504 KB Guessed the password with 14842 queries.
16 Correct 136 ms 452 KB Guessed the password with 13539 queries.
17 Correct 174 ms 376 KB Guessed the password with 16237 queries.
18 Correct 139 ms 376 KB Guessed the password with 13757 queries.
19 Correct 170 ms 452 KB Guessed the password with 16675 queries.
20 Correct 125 ms 504 KB Guessed the password with 12435 queries.
21 Correct 189 ms 376 KB Guessed the password with 17140 queries.
22 Correct 134 ms 504 KB Guessed the password with 14500 queries.
23 Correct 234 ms 488 KB Guessed the password with 24024 queries.
24 Correct 240 ms 528 KB Guessed the password with 22707 queries.
25 Correct 262 ms 564 KB Guessed the password with 24097 queries.
26 Correct 280 ms 584 KB Guessed the password with 24565 queries.
27 Correct 257 ms 552 KB Guessed the password with 24137 queries.
28 Correct 251 ms 536 KB Guessed the password with 23568 queries.
29 Correct 237 ms 600 KB Guessed the password with 24180 queries.
30 Correct 261 ms 572 KB Guessed the password with 22391 queries.