Submission #251386

#TimeUsernameProblemLanguageResultExecution timeMemory
251386lycPassword (RMI18_password)C++14
30 / 100
465 ms256 KiB
#include <bits/stdc++.h>
using namespace std;

#define TRACE(x) cerr << #x << " :: " << x << endl;
#define _ << " " <<
#define FOR(i,a,b) for(int i=(a);i<=(b);++i)
#define SZ(x) ((int)(x).size())
typedef pair<int,int> ii;

int query(string str);

int N;
const int mxS = 26;
char alpha[mxS];

string guess(int _N, int S) {
	N = _N;
	FOR(i,0,S-1) alpha[i] = 'a' + i;
	
	vector<ii> freq;
	FOR(i,0,S-1) {
		string s(N,alpha[i]);
		int f = query(s);
		freq.emplace_back(f,i);
		//~ cout << f << ' ';
	}
	//~ cout << endl;
	
	string s(freq[0].first,alpha[freq[0].second]);
	FOR(i,1,SZ(freq)-1){
		FOR(j,1,freq[i].first){
			FOR(k,0,SZ(s)){
				string t = s.substr(0,k) + alpha[freq[i].second] + s.substr(k);
				int x = query(t);
				if (x == SZ(t)) { s = t; break; }
			}
		}
		//TRACE(s);
	}
	
	return s;
}
#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...