結果

問題 No.2926 Botaoshi
ユーザー ikoma
提出日時 2024-10-12 16:57:15
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 802 bytes
コンパイル時間 347 ms
コンパイル使用メモリ 82,320 KB
実行使用メモリ 77,056 KB
最終ジャッジ日時 2024-10-12 16:57:44
合計ジャッジ時間 6,661 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 38 RE * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

N=int(input())
S=input().strip()
MOD=998244353

if "RL" in S:
    print(0)
    exit()

if N==1:
    print(3 if S[0]=="." else 1)

dic = {"L":0, "R":1, "U":2, ".":3}

dp = [[0]*3 for _ in range(3)]

s0,s1 = map(lambda x:dic[x], S[:2])
for i in range(3):
    if not (s0==i or s0==3):continue
    for j in range(3):
        if not (s1==j or s1==3):continue
        dp[j][i] = 1
dp[0][1] = 0 # 禁止

for s in S[2:]:
    s = dic[s]
    dp2 = [[0]*3 for _ in range(3)]
    if s < 3:
        for i in range(3):
            dp2[s][i] = sum(dp[i])%MOD
    else:
        for i in range(3):
            for j in range(3):
                for k in range(3):
                    dp2[k][j] += dp[j][i]
                    dp2[k][j] %= MOD
    dp2[0][1] = 0 # 禁止
    dp = dp2

print(sum(sum(d) for d in dp)%MOD)
0