#include #include #include #include #include #include #include #include #include #include #include #include #ifndef ONLINE_JUDGE # include # include # include # include # define mkt make_tuple #endif #ifdef _LOCAL # include "module/for_local.h" #else # define assert(...) ((void)0) # define ifdebug if (false) # define echo(...) ((void)0) #endif using namespace std; typedef long long ll; typedef unsigned long long ull; #define repi(_I, _B, _E) for(int _I = (_B); (_I) < (_E); ++ (_I)) #define rep(_I, _N) for(int _I = 0; (_I) < (_N); ++ (_I)) #define all(_X) (_X).begin(), (_X).end() string key = "0000000000"; pair query() { cout << key << endl; int n; static char msg[10] {}; cin >> n >> msg; return { n, ! strcmp(msg, "unlocked") }; } int main() { int n; bool unlocked; rep(i, 10) { int mi = 1<<29; char mi_d; for ( char d = '0'; d <= '9'; d++ ) { key[i] = d; tie(n, unlocked) = query(); if ( unlocked ) return 0; if ( mi >= n ) { mi = n; mi_d = d; } } key[i] = mi_d; } return 0; }