結果
問題 |
No.2172 SEARCH in the Text Editor
|
ユーザー |
|
提出日時 | 2022-12-24 13:48:08 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,107 bytes |
コンパイル時間 | 258 ms |
コンパイル使用メモリ | 81,852 KB |
実行使用メモリ | 95,620 KB |
最終ジャッジ日時 | 2024-11-18 07:17:36 |
合計ジャッジ時間 | 7,098 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 WA * 11 |
ソースコード
import sys input = sys.stdin.readline N = int(input()) T = input()[:-1] L = [] MOD = 998244353 for _ in range(N): I = list(input().split()) if len(I)==1: S = I[0] if len(S)>=len(T): L.append((S.count(T), S[:len(T)-1], S[::-1][:len(T)-1][::-1], 1)) else: L.append((S.count(T), S, S, 0)) else: i, j = int(I[1])-1, int(I[2])-1 c = (L[i][0]+L[j][0]+(''.join([L[i][2], L[j][1]]).count(T)))%MOD if L[i][3]==0 and L[j][3]==0: S = ''.join([L[i][1], L[j][1]]) if len(S)>=len(T): L.append((c, S[:len(T)-1], S[::-1][:len(T)-1][::-1], 1)) else: L.append((c, S, S, 0)) elif L[i][3]==0 and L[j][3]==1: S = ''.join([L[i][1], L[j][1]]) L.append((c, S[:len(T)-1], L[j][2], 1)) elif L[i][3]==1 and L[j][3]==0: S = ''.join([L[i][2], L[j][1]]) L.append((c, L[i][1], S[::-1][:len(T)-1][::-1], 1)) else: L.append((c, L[i][1], L[j][2], 1)) print(L[-1][0])