Submission #53953657


Source Code Expand

// LUOGU_RID: 160485096
#include<bits/stdc++.h>
#define Gc() getchar()
#define Me(x,y) memset(x,y,sizeof(x))
#define Mc(x,y) memcpy(x,y,sizeof(x))
#define d(x,y) ((m)*(x-1)+(y))
#define R(n) (rnd()%(n)+1)
#define Pc(x) putchar(x)
#define LB lower_bound
#define UB upper_bound
#define fi first
#define se second
#define eb emplace_back
#define all(x) x.begin(),x.end()
using namespace std;using ll=long long;using db=double;using lb=long db;using ui=unsigned;using ull=unsigned long long;using pii=pair<int,int>;
const int N=3e3+5,M=(1<<20)+5,K=1000+5,mod=998244353,Mod=mod-1;const db eps=1e-9;const int INF=1e9+7;mt19937 rnd(181766);
#define Tp template<typename T>
#define Ts template<typename T,typename... Ar>
namespace Debug{
	Tp void _debug(char* f,T t){cerr<<f<<'='<<t<<endl;}
	Ts void _debug(char* f,T x,Ar... y){while(*f!=',') cerr<<*f++;cerr<<'='<<x<<",";_debug(f+1,y...);}
	#ifdef LOCAL
	#define gdb(...) _debug((char*)#__VA_ARGS__,__VA_ARGS__)
	#else 
	#define gdb(...) void()
	#endif
}using namespace Debug;
int len[N],n;
int qry(string s){
	cout<<"? "<<s<<endl;
	fflush(stdout);
	int x;cin>>x;return x;
}
int check(string s){return qry(s)==n-s.size();}
char s[62];
string calc(int l,int r){
	if(l==r){
		string c(len[l],s[l]);
		return c;
	}
	int m=l+r>>1;
	string a1=calc(l,m),a2=calc(m+1,r);
	string t1,t2=a1;
	while(!a2.empty()){
		while(!check(t1+a2[0]+t2)) t1+=t2[0],t2.erase(t2.begin());
		t1+=a2[0];a2.erase(a2.begin());
	}
	return t1+t2;
}
void Solve(){
	int i,j;
	for(i=0;i<26;i++) s[i]=i+'a';
	for(i=0;i<26;i++) s[i+26]=i+'A';
	for(i=0;i<10;i++) s[i+26+26]=i+'0';
	for(i=0;i<62;i++){
		string c(128,s[i]);
		len[i]=128-qry(c);
	}
	n=accumulate(len,len+62,0);
	string ans=calc(0,61);
	cout<<"! "<<ans<<endl;fflush(stdout);
}
int main(){
	// freopen("1.in","r",stdin);freopen("1.out","w",stdout);
	int t=1;
	// scanf("%d",&t);
	while(t--) Solve();
	cerr<<clock()*1.0/CLOCKS_PER_SEC<<'\n';
}

Submission Info

Submission Time
Task D - Guess the Password
User fangxintong
Language C++ 17 (gcc 12.2)
Score 1100
Code Size 1911 Byte
Status AC
Exec Time 15 ms
Memory 3976 KiB

Compile Error

Main.cpp: In function ‘int check(std::string)’:
Main.cpp:34:34: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   34 | int check(string s){return qry(s)==n-s.size();}
      |                            ~~~~~~^~~~~~~~~~~~
Main.cpp: In function ‘std::string calc(int, int)’:
Main.cpp:41:16: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
   41 |         int m=l+r>>1;
      |               ~^~
Main.cpp: In function ‘void Solve()’:
Main.cpp:51:15: warning: unused variable ‘j’ [-Wunused-variable]
   51 |         int i,j;
      |               ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1100 / 1100
Status
AC × 1
AC × 47
Set Name Test Cases
Sample example0.txt
All 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, example0.txt
Case Name Status Exec Time Memory
000.txt AC 5 ms 3860 KiB
001.txt AC 3 ms 3856 KiB
002.txt AC 3 ms 3716 KiB
003.txt AC 3 ms 3792 KiB
004.txt AC 3 ms 3816 KiB
005.txt AC 3 ms 3848 KiB
006.txt AC 4 ms 3872 KiB
007.txt AC 6 ms 3864 KiB
008.txt AC 3 ms 3872 KiB
009.txt AC 3 ms 3792 KiB
010.txt AC 3 ms 3864 KiB
011.txt AC 3 ms 3744 KiB
012.txt AC 15 ms 3864 KiB
013.txt AC 6 ms 3672 KiB
014.txt AC 12 ms 3820 KiB
015.txt AC 12 ms 3872 KiB
016.txt AC 12 ms 3796 KiB
017.txt AC 11 ms 3792 KiB
018.txt AC 10 ms 3668 KiB
019.txt AC 12 ms 3828 KiB
020.txt AC 12 ms 3680 KiB
021.txt AC 10 ms 3824 KiB
022.txt AC 11 ms 3688 KiB
023.txt AC 10 ms 3728 KiB
024.txt AC 11 ms 3908 KiB
025.txt AC 5 ms 3856 KiB
026.txt AC 11 ms 3856 KiB
027.txt AC 10 ms 3968 KiB
028.txt AC 10 ms 3736 KiB
029.txt AC 10 ms 3792 KiB
030.txt AC 12 ms 3672 KiB
031.txt AC 11 ms 3740 KiB
032.txt AC 13 ms 3824 KiB
033.txt AC 11 ms 3908 KiB
034.txt AC 11 ms 3972 KiB
035.txt AC 13 ms 3864 KiB
036.txt AC 11 ms 3820 KiB
037.txt AC 11 ms 3868 KiB
038.txt AC 11 ms 3792 KiB
039.txt AC 11 ms 3976 KiB
040.txt AC 12 ms 3880 KiB
041.txt AC 12 ms 3892 KiB
042.txt AC 12 ms 3820 KiB
043.txt AC 12 ms 3876 KiB
044.txt AC 11 ms 3912 KiB
045.txt AC 12 ms 3840 KiB
example0.txt AC 3 ms 3968 KiB