結果
| 問題 | No.2102 [Cherry Alpha *] Conditional Reflection |
| コンテスト | |
| ユーザー |
👑 Kazun
|
| 提出日時 | 2022-07-26 19:14:33 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,403 ms / 3,000 ms |
| コード長 | 794 bytes |
| 記録 | |
| コンパイル時間 | 300 ms |
| コンパイル使用メモリ | 82,560 KB |
| 実行使用メモリ | 400,908 KB |
| 最終ジャッジ日時 | 2024-06-26 12:52:31 |
| 合計ジャッジ時間 | 30,301 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 70 |
ソースコード
from random import randint as ri
from collections import defaultdict
def dic(i,s):
if s not in X[i]:
X[i][s]=ri(1,rand_max)
return X[i][s]
import sys
input=sys.stdin.readline
write=sys.stdout.write
N=int(input())
S=[[] for _ in range(N)]
L=0
for i in range(N):
S[i]=[ord(a)-ord("a") for a in input()[:-1]]
L=max(L,len(S[i]))
alpha=26
rand_max=(1<<63)-1
X=[{} for _ in range(L)]
F=set()
Ans=["No"]*N
for i in range(N):
s=S[i]
eta=0
for j in range(len(s)):
eta^=dic(j,s[j])
if eta in F:
Ans[i]="Yes"
for j in range(len(s)-1):
delta=dic(j,s[j])^dic(j,s[j+1])^dic(j+1,s[j])^dic(j+1,s[j+1])
if eta^delta in F:
Ans[i]="Yes"
F.add(eta)
write("\n".join(Ans))
Kazun