Submission #201083

#TimeUsernameProblemLanguageResultExecution timeMemory
201083etahaPassword (RMI18_password)C++14
100 / 100
754 ms672 KiB
#include<bits/stdc++.h>
using namespace std;
#define mods 1000000007
#define pb push_back
#define mp make_pair
#define st first
#define nd second
typedef long long int lint;
typedef unsigned long long int ulint;
typedef pair<lint,lint> pii;

int query(string q);
int dizi[30];

string sifre="";
string ekle(string s,char c,int ind){
	int i;
	string ret;
	for(i=0;i<ind;i++) ret+=s[i];
	ret+=c;
	for(;i<s.size();i++) ret+=s[i];
	//cout<<c<<" "<<ret<<" "<<query(ret)<<endl;
	return ret;


}

string merge(int l,int r){
	int i,j,k;
	string ret;
	if(l==r){
		for(i=0;i<dizi[l];i++) ret+='a'+l;
		return ret;
	}else{
		string cev1,cev2;
		int m=l+(r-l)/2;
		cev1=merge(l,m);
		cev2=merge(m+1,r);
		//cout<<cev1<<" "<<cev2<<endl;
		int son=0;
		for(j=0;j<=cev1.size() && son<cev2.size();j++){
			if(query(ekle(cev1,cev2[son],j))==cev1.size()+1) cev1=ekle(cev1,cev2[son],j), son++;
		}
		return cev1;	
	}
}
string guess(int n,int s){
	int i,j,k;

	int ek=0,son=1;
	for(j=0;j<s;j++){
		string a;
		for(i=0;i<n;i++) a+='a'+j;
		dizi[j]=query(a);
		if(dizi[j]==n) return a;
		//cout<<(char)('a'+j)<<" "<<dizi[j]<<endl;
	}
	sifre=merge(0,s-1);
//	int temp=query(sifre);
	//cout<<sifre<<endl;
	//cout<<temp<<endl;
	return sifre;


}

Compilation message (stderr)

password.cpp: In function 'std::__cxx11::string ekle(std::__cxx11::string, char, int)':
password.cpp:21:8: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(;i<s.size();i++) ret+=s[i];
       ~^~~~~~~~~
password.cpp: In function 'std::__cxx11::string merge(int, int)':
password.cpp:41:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(j=0;j<=cev1.size() && son<cev2.size();j++){
           ~^~~~~~~~~~~~~
password.cpp:41:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(j=0;j<=cev1.size() && son<cev2.size();j++){
                             ~~~^~~~~~~~~~~~
password.cpp:42:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(query(ekle(cev1,cev2[son],j))==cev1.size()+1) cev1=ekle(cev1,cev2[son],j), son++;
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
password.cpp:29:10: warning: unused variable 'k' [-Wunused-variable]
  int i,j,k;
          ^
password.cpp: In function 'std::__cxx11::string guess(int, int)':
password.cpp:48:10: warning: unused variable 'k' [-Wunused-variable]
  int i,j,k;
          ^
password.cpp:50:6: warning: unused variable 'ek' [-Wunused-variable]
  int ek=0,son=1;
      ^~
password.cpp:50:11: warning: unused variable 'son' [-Wunused-variable]
  int ek=0,son=1;
           ^~~
#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...