結果

問題 No.2932 えっえっ嘘嘘嘘待って待って待って???えマジで?ほんとに?マジでやばすぎなんだけど?えっおっほんとにこんなにDPしちゃっていいんですかい???マジでやばすぎなんだけど???
ユーザー ThetaTheta
提出日時 2024-11-20 14:34:01
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 932 bytes
コンパイル時間 510 ms
コンパイル使用メモリ 82,144 KB
実行使用メモリ 59,808 KB
最終ジャッジ日時 2024-11-20 14:34:03
合計ジャッジ時間 1,877 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 39 ms
52,108 KB
testcase_01 AC 39 ms
52,160 KB
testcase_02 AC 43 ms
59,036 KB
testcase_03 AC 38 ms
52,956 KB
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 AC 38 ms
52,864 KB
testcase_09 AC 45 ms
58,168 KB
testcase_10 AC 46 ms
58,848 KB
testcase_11 AC 39 ms
52,228 KB
testcase_12 WA -
testcase_13 AC 46 ms
59,808 KB
testcase_14 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

def main():
    MOD = 998244353
    H, W, M = map(int, input().split())
    if H + W - 1 > M:
        print(0)
        return
    pattern = pow(M, H*W - (H+W-1), MOD)
    route_comb_up = 1
    for n in range(M-H-W+2, M+1):
        route_comb_up *= n
        route_comb_up %= MOD
    route_comb_down = 1
    for n in range(1, H+W):
        route_comb_down *= n
        route_comb_down %= MOD
    route_comb_down_inv = pow(route_comb_down, MOD-2, MOD)
    pattern *= route_comb_up
    pattern %= MOD
    pattern *= route_comb_down_inv
    pattern %= MOD

    comb_up = 1
    for n in range(H, H+W-1):
        comb_up *= n
        comb_up %= MOD
    comb_down = 1
    for n in range(1, H):
        comb_down *= n
        comb_down %= MOD

    comb_down_inv = pow(comb_down, MOD-2, MOD)
    pattern *= comb_up
    pattern %= MOD
    pattern *= comb_down_inv
    pattern %= MOD
    print(pattern)


if __name__ == "__main__":
    main()
0