結果
| 問題 |
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])