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
2024-05-27 21:58:36+0900
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
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