結果

問題 No.2102 [Cherry Alpha *] Conditional Reflection
ユーザー aaaaaaaaaa2230aaaaaaaaaa2230
提出日時 2022-10-14 23:35:46
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 922 ms / 3,000 ms
コード長 954 bytes
コンパイル時間 530 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 217,580 KB
最終ジャッジ日時 2024-06-26 17:33:52
合計ジャッジ時間 49,364 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 191 ms
165,632 KB
testcase_01 AC 196 ms
165,920 KB
testcase_02 AC 704 ms
178,944 KB
testcase_03 AC 707 ms
182,324 KB
testcase_04 AC 734 ms
180,096 KB
testcase_05 AC 682 ms
174,984 KB
testcase_06 AC 810 ms
180,852 KB
testcase_07 AC 436 ms
173,608 KB
testcase_08 AC 571 ms
172,128 KB
testcase_09 AC 628 ms
180,724 KB
testcase_10 AC 558 ms
173,696 KB
testcase_11 AC 428 ms
172,860 KB
testcase_12 AC 635 ms
177,804 KB
testcase_13 AC 699 ms
184,320 KB
testcase_14 AC 703 ms
176,992 KB
testcase_15 AC 851 ms
181,152 KB
testcase_16 AC 862 ms
188,928 KB
testcase_17 AC 381 ms
171,904 KB
testcase_18 AC 544 ms
177,920 KB
testcase_19 AC 597 ms
175,892 KB
testcase_20 AC 767 ms
186,332 KB
testcase_21 AC 735 ms
172,560 KB
testcase_22 AC 892 ms
191,268 KB
testcase_23 AC 908 ms
190,136 KB
testcase_24 AC 886 ms
190,612 KB
testcase_25 AC 884 ms
191,412 KB
testcase_26 AC 872 ms
189,908 KB
testcase_27 AC 884 ms
190,704 KB
testcase_28 AC 891 ms
190,260 KB
testcase_29 AC 898 ms
191,216 KB
testcase_30 AC 864 ms
190,272 KB
testcase_31 AC 867 ms
189,952 KB
testcase_32 AC 898 ms
191,164 KB
testcase_33 AC 891 ms
190,400 KB
testcase_34 AC 901 ms
190,516 KB
testcase_35 AC 895 ms
190,964 KB
testcase_36 AC 874 ms
190,524 KB
testcase_37 AC 921 ms
190,084 KB
testcase_38 AC 902 ms
189,696 KB
testcase_39 AC 907 ms
191,104 KB
testcase_40 AC 922 ms
190,732 KB
testcase_41 AC 892 ms
189,956 KB
testcase_42 AC 598 ms
182,952 KB
testcase_43 AC 607 ms
182,700 KB
testcase_44 AC 597 ms
182,824 KB
testcase_45 AC 590 ms
182,948 KB
testcase_46 AC 624 ms
182,828 KB
testcase_47 AC 485 ms
178,256 KB
testcase_48 AC 494 ms
178,132 KB
testcase_49 AC 478 ms
178,136 KB
testcase_50 AC 490 ms
178,132 KB
testcase_51 AC 480 ms
178,264 KB
testcase_52 AC 296 ms
217,580 KB
testcase_53 AC 293 ms
217,572 KB
testcase_54 AC 297 ms
217,448 KB
testcase_55 AC 311 ms
170,240 KB
testcase_56 AC 306 ms
169,728 KB
testcase_57 AC 306 ms
169,856 KB
testcase_58 AC 312 ms
214,352 KB
testcase_59 AC 904 ms
196,444 KB
testcase_60 AC 519 ms
170,264 KB
testcase_61 AC 306 ms
170,112 KB
testcase_62 AC 253 ms
170,240 KB
testcase_63 AC 409 ms
169,676 KB
testcase_64 AC 428 ms
169,472 KB
testcase_65 AC 442 ms
169,664 KB
testcase_66 AC 324 ms
170,112 KB
testcase_67 AC 772 ms
169,728 KB
testcase_68 AC 310 ms
170,208 KB
testcase_69 AC 749 ms
170,496 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import random
base = random.randint(30,1000)
mod = random.randint(10**7,10**15)
mod2 = random.randint(10**7,10**15)
M = 10**6+2
pows = [1]*M
for i in range(1,M-1):
    pows[i] = pows[i-1]*base%mod


hash = [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 = 0
    num = 0
    num2 = 0
    for i,j in enumerate(s):
        k = ord(j)-ord("a")
        num += pows[i]*k
        num %= mod
        num2 += pows[i]*k
        num2 %= mod2

    if (num,num2) in hash[ls]:
        find = 1
    
    for 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 %= mod

        temp2 = num2 + (y-x)*pows[i]+ (x-y)*pows[i+1]
        temp2 %= mod2
        if (temp,temp2) in hash[ls]:
            find = 1

    print("Yes" if find else "No")
    hash[ls].add((num,num2))
    
0