import sys readline = sys.stdin.readline # DEBUG = True DEBUG = False class Interactive: def __init__(self): self.ques_cnt = 0 self.create_data() def create_data(self): import random pwd = ''.join(map(str, (random.randint(0,9) for _ in range(10)))) self.pwd = pwd print('created:', pwd) def resp_ques(self, *args): guess = args[0] if len(guess) != 10: raise ValueError x = sum(g == p for g,p in zip(guess, self.pwd)) if x == 10: return '10 unlocked\n' else: return '{} locked\n'.format(x) def resp_ans(self, *args): pass if DEBUG: interactive = Interactive() def question(*args, offset=None): if offset is None: print(*args, flush=True) else: print(offset, *args, flush=True) if DEBUG: resp = interactive.resp_ques(*args) print(resp, end='') return resp else: return readline() def answer(*args, offset=None): if offset is None: print(*args, flush=True) else: print(offset, *args, flush=True) if DEBUG: interactive.resp_ans(*args) else: exit() def find_nth_value(n): A = [0] * 10 best = -1 ret = 0 for i in range(10): A[n] = i word = ''.join(map(str,A)) correct, status = question(word).split() correct = int(correct) if correct == 10: exit() if best < correct: best = correct ret = i return ret A = [find_nth_value(n) for n in range(10)] x = ''.join(map(str,A)) question(x) exit()