結果
| 問題 | 
                            No.2768 Password Crack
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2024-05-31 22:05:13 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 876 bytes | 
| コンパイル時間 | 330 ms | 
| コンパイル使用メモリ | 82,396 KB | 
| 実行使用メモリ | 96,216 KB | 
| 平均クエリ数 | 990.37 | 
| 最終ジャッジ日時 | 2024-12-20 23:34:51 | 
| 合計ジャッジ時間 | 11,851 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| 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 now_nums.get(n)==None:
      now_nums[n]=[cha]
    else:
      now_nums[n].append(cha)
    if cha_num>=2 and len(now_nums)==2:
      for key in now_nums:
        if len(now_nums[key])==1:
          kaku[i] = now_nums[key][0]
          flag = True
          break
print(*kaku)