/* -*- coding: utf-8 -*- * * 2768.cc: No.2768 Password Crack - yukicoder */ #include #include using namespace std; /* constant */ const int MAX_N = 100; /* typedef */ /* global variables */ char s[MAX_N + 4]; /* subroutines */ int query(char s[]) { printf("? %s\n", s); fflush(stdout); int r; scanf("%d", &r); return r; } /* main */ int main() { int n; scanf("%d", &n); fill(s, s + n, 'a'); int an = query(s); if (an < n) { for (int i = 0; i < n; i++) { char c = 'b'; for (; c < 'z'; c++) { s[i] = c; int r = query(s); if (r < i + an) { c = 'a'; break; } if (r > i + an) break; } s[i] = c; if (c == 'a') an--; } } printf("! %s\n", s); fflush(stdout); //for (int i = 0; i < 1000000000; i++); return 0; }