結果
| 問題 | 
                            No.2768 Password Crack
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2024-05-31 22:00:25 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 922 bytes | 
| コンパイル時間 | 288 ms | 
| コンパイル使用メモリ | 82,560 KB | 
| 実行使用メモリ | 96,064 KB | 
| 平均クエリ数 | 976.93 | 
| 最終ジャッジ日時 | 2024-12-20 23:24:49 | 
| 合計ジャッジ時間 | 12,073 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | WA * 1 | 
| other | WA * 29 | 
ソースコード
ALP = "abcdefghijklmnopqrstuvwxyz"
alp = []
for i in range(len(ALP)):
  alp.append(ALP[i])
alp = tuple(alp)
import random
rand_num = 1000
rand_alp = []
for i in range(rand_num):
  rand_alp.append(tuple(random.sample(alp, 26)))
N=int(input())
base = ["a" for i in range(N)]
kaku = [None for i in range(N)]
# from collections import defaultdict
for i in range(N):
  order = random.choice(rand_alp)
  now_nums = dict()
  flag = False
  for cha_num in range(26):
    if flag: break
    cha = order[cha_num]
    T = base[:]
    T[i] = cha
    print("?", "".join(T))
    n=int(input())
    if n not in now_nums:
      if cha_num==0 or cha_num==1:
        now_nums[n] = 1
      else:
        kaku[i] = cha
        flag = True
    else:
      if cha_num==2 and len(now_nums)==2:
        for key in now_nums:
          if now_nums[key]==1:
            kaku[i] = cha
            flag = True
            break
print(*kaku)