提出 #31278042


ソースコード 拡げる

MOD = 100000
w, h = map(int, input().split())
dp = [[[[0] * 2 for i in range(2)] for j in range(h)] for k in range(w)]
# dp[i][j][k][l] = 西から i 番目,南から j 番目の交差点に k の向き (0 = 東向き,1 = 北向き) で辿り着く場合の数
# ただし l = 1 の場合はこの交差点で向きを変えたことを表す
dp[0][0][0][0] = 1
dp[0][0][1][0] = 1
for i in range(w):
    for j in range(h):
        if i > 0:
            dp[i][j][0][0] = (dp[i - 1][j][0][0] + dp[i - 1][j][0][1]) % MOD
            dp[i][j][1][1] = dp[i - 1][j][0][0]
        if j > 0:
            dp[i][j][1][0] = (dp[i][j - 1][1][0] + dp[i][j - 1][1][1]) % MOD
            dp[i][j][0][1] = dp[i][j - 1][1][0]
print((dp[w - 1][h - 1][0][0] + dp[w - 1][h - 1][1][0]) % MOD)

提出情報

提出日時
問題 E - 通勤経路
ユーザ Pro_ktmr
言語 PyPy3 (7.3.0)
得点 100
コード長 790 Byte
結果 AC
実行時間 72 ms
メモリ 75688 KiB

ジャッジ結果

セット名 set01 set02 set03 set04 set05
得点 / 配点 20 / 20 20 / 20 20 / 20 20 / 20 20 / 20
結果
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
セット名 テストケース
set01 data1
set02 data2
set03 data3
set04 data4
set05 data5
ケース名 結果 実行時間 メモリ
data1 AC 62 ms 62236 KiB
data2 AC 49 ms 62364 KiB
data3 AC 54 ms 62876 KiB
data4 AC 69 ms 75684 KiB
data5 AC 72 ms 75688 KiB