Submission #286955

# Submission time Handle Problem Language Result Execution time Memory
286955 2020-08-31T07:50:35 Z crossing0ver Password (RMI18_password) C++17
30 / 100
595 ms 376 KB
#include<bits/stdc++.h>
#define ll long long
#define pb push_back
#define pii pair<int,int>
#define vi vector<int>
#define fi first
#define se second
#define all(x) (x).begin(),(x).end()
using namespace std;

int m;
string suf,pref;
int query(string str);
string guess(int n, int s) {
	string pref,P;
	vector<char> D;
	for (char i = 'a'; i < 'a' + s ; i++)
		D.pb(i);
	for (int i = 1; i <= n; i++) {
		int len = suf.size() + pref.size();
		char LAST = ((int)pref.size() ? pref.back() : 'a');
		int cur = len;
		for (int z = 1; z + pref.size() + suf.size() <= n;) {
			bool flag = 0;
			random_shuffle(D.begin(),D.end());
		for (char c : D) {
			P = pref + c;
			P += suf;
			int F = query(P);
			if (F > cur) {
				LAST = c;
				pref += c;
				cur = F;
				flag  = 1;
				break;
			}
		}
		if (flag == 0) break;
		}
		reverse(all(suf));
		if (pref.size())
		suf+=pref.back();
		reverse(all(suf));
		if (pref.size())
		pref.pop_back();
		if (pref.size() + suf.size() == n) {
			pref += suf;
			int Z = query(pref);
			return pref;
		}
	}
	return suf;
}
/*
main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

}*/

Compilation message

password.cpp: In function 'std::string guess(int, int)':
password.cpp:23:48: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   23 |   for (int z = 1; z + pref.size() + suf.size() <= n;) {
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
password.cpp:46:32: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   46 |   if (pref.size() + suf.size() == n) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
password.cpp:48:8: warning: unused variable 'Z' [-Wunused-variable]
   48 |    int Z = query(pref);
      |        ^
password.cpp:21:8: warning: variable 'LAST' set but not used [-Wunused-but-set-variable]
   21 |   char LAST = ((int)pref.size() ? pref.back() : 'a');
      |        ^~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 256 KB Guessed the password with 292 queries.
2 Correct 4 ms 256 KB Guessed the password with 625 queries.
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Guessed the password with 156 queries.
2 Correct 4 ms 256 KB Guessed the password with 310 queries.
3 Correct 3 ms 256 KB Guessed the password with 217 queries.
4 Correct 4 ms 256 KB Guessed the password with 574 queries.
# Verdict Execution time Memory Grader output
1 Correct 167 ms 376 KB Guessed the password with 16640 queries.
2 Correct 277 ms 256 KB Guessed the password with 27500 queries.
3 Correct 430 ms 256 KB Guessed the password with 39041 queries.
4 Incorrect 595 ms 256 KB Could not guess the password with 50000 queries.
# Verdict Execution time Memory Grader output
1 Correct 3 ms 256 KB Guessed the password with 292 queries.
2 Correct 4 ms 256 KB Guessed the password with 625 queries.
3 Correct 2 ms 256 KB Guessed the password with 156 queries.
4 Correct 4 ms 256 KB Guessed the password with 310 queries.
5 Correct 3 ms 256 KB Guessed the password with 217 queries.
6 Correct 4 ms 256 KB Guessed the password with 574 queries.
7 Correct 167 ms 376 KB Guessed the password with 16640 queries.
8 Correct 277 ms 256 KB Guessed the password with 27500 queries.
9 Correct 430 ms 256 KB Guessed the password with 39041 queries.
10 Incorrect 595 ms 256 KB Could not guess the password with 50000 queries.
# Verdict Execution time Memory Grader output
1 Correct 3 ms 256 KB Guessed the password with 292 queries.
2 Correct 4 ms 256 KB Guessed the password with 625 queries.
3 Correct 2 ms 256 KB Guessed the password with 156 queries.
4 Correct 4 ms 256 KB Guessed the password with 310 queries.
5 Correct 3 ms 256 KB Guessed the password with 217 queries.
6 Correct 4 ms 256 KB Guessed the password with 574 queries.
7 Correct 167 ms 376 KB Guessed the password with 16640 queries.
8 Correct 277 ms 256 KB Guessed the password with 27500 queries.
9 Correct 430 ms 256 KB Guessed the password with 39041 queries.
10 Incorrect 595 ms 256 KB Could not guess the password with 50000 queries.