結果
問題 | No.305 鍵(2) |
ユーザー | maspy |
提出日時 | 2020-01-29 22:06:06 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 64 ms / 2,000 ms |
コード長 | 1,712 bytes |
コンパイル時間 | 157 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 27,480 KB |
平均クエリ数 | 92.62 |
最終ジャッジ日時 | 2024-07-17 02:27:17 |
合計ジャッジ時間 | 2,102 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 64 ms
27,096 KB |
testcase_01 | AC | 60 ms
27,480 KB |
testcase_02 | AC | 57 ms
27,224 KB |
testcase_03 | AC | 56 ms
26,968 KB |
testcase_04 | AC | 60 ms
26,968 KB |
testcase_05 | AC | 57 ms
27,208 KB |
testcase_06 | AC | 53 ms
27,352 KB |
testcase_07 | AC | 59 ms
27,352 KB |
testcase_08 | AC | 57 ms
26,968 KB |
testcase_09 | AC | 58 ms
27,224 KB |
testcase_10 | AC | 57 ms
27,352 KB |
testcase_11 | AC | 56 ms
27,224 KB |
testcase_12 | AC | 60 ms
27,480 KB |
ソースコード
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()