제출 #251394

#제출 시각아이디문제언어결과실행 시간메모리
251394cheehengPassword (RMI18_password)C++14
80 / 100
568 ms624 KiB
#include <bits/stdc++.h> using namespace std; int query(string q); typedef pair<int, int> ii; int p[28] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27}; ii cnt2[28]; int cnt[28]; string guess(int n, int s){ for(char i = 'a'; i < 'a'+s; i ++){ string temp = ""; for(int j = 0; j < n; j ++){ temp += i; } cnt[i-'a'] = query(temp); cnt2[i-'a'] = ii(cnt[i-'a'], i-'a'); } sort(cnt2, cnt2+s); //reverse(cnt2, cnt2+s); for(int i = 0; i < s; i ++){ p[cnt2[i].second] = i; } //random_shuffle(p, p+s); //random_shuffle(p, p+s); string temp = ""; int cntMatch = 0; for(int i = 0; i < s; i ++){ int indx = 0; int j = 0; while(j < cnt[p[i]]){ string temp2 = temp; if(indx == 0){ temp2 = (char)('a'+p[i]) + temp; }else{ temp2 = temp2.substr(0, indx) + (char)('a'+p[i]) + temp2.substr(indx); } //printf("%d: %s %s\n", j, temp.c_str(), temp2.c_str()); int res = query(temp2); if(res > cntMatch){ temp = temp2; cntMatch = res; j ++; } indx ++; } } return temp; }
#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...