結果
問題 | No.2102 [Cherry Alpha *] Conditional Reflection |
ユーザー |
|
提出日時 | 2022-10-14 23:28:41 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 919 bytes |
コンパイル時間 | 265 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 221,368 KB |
最終ジャッジ日時 | 2024-06-26 17:26:50 |
合計ジャッジ時間 | 51,875 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 62 WA * 8 |
ソースコード
base = 37mod = 10**9 + 9mod2 = 1<<63M = 10**6+2pows = [1]*Mfor i in range(1,M-1):pows[i] = pows[i-1]*base%modhash = [set() for i in range(M)]hash2 = [set() for i in range(M)]n = int(input())for _ in range(n):s = list(input())ls = len(s)find = 0num = 0num2 = 0for i,j in enumerate(s):k = ord(j)-ord("a")num += pows[i]*knum %= modnum2 += pows[i]*knum2 %= mod2if num in hash[ls] and num2 in hash2[ls]:find = 1for i in range(ls-1):x = ord(s[i])-ord("a")y = ord(s[i+1])-ord("a")temp = num + (y-x)*pows[i]+ (x-y)*pows[i+1]temp %= modtemp2 = num2 + (y-x)*pows[i]+ (x-y)*pows[i+1]temp2 %= mod2if temp in hash[ls] and temp2 in hash2[ls]:find = 1print("Yes" if find else "No")hash[ls].add(num)hash2[ls].add(num2)