結果

問題 No.1492 01文字列と転倒
ユーザー Yukino DX.Yukino DX.
提出日時 2024-09-28 09:25:31
言語 Rust
(1.77.0 + proconio)
結果
TLE  
実行時間 -
コード長 799 bytes
コンパイル時間 13,128 ms
コンパイル使用メモリ 396,684 KB
実行使用メモリ 13,752 KB
最終ジャッジ日時 2024-09-28 09:25:52
合計ジャッジ時間 18,880 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
6,816 KB
testcase_01 AC 1 ms
6,812 KB
testcase_02 TLE -
testcase_03 -- -
testcase_04 -- -
testcase_05 -- -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
testcase_22 -- -
testcase_23 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

use proconio::input;

fn main() {
    input! {
        n:usize,
        m:usize,
    }

    let mut dp = vec![vec![0; n * n + 1]; n + 1];
    dp[0][0] = 1;
    for i in 1..=n {
        for u in 0..=i - 1 {
            let v = i - 1 - u;
            for k in 0..=n * n {
                if k + u * v + v > n * n {
                    break;
                }
                for l in 0..=n * n {
                    if k + l + u * v + v <= n * n {
                        dp[i][k + l + u * v + v] = dp[i][k + l + u * v + v] + dp[u][k] * dp[v][l];
                        dp[i][k + l + u * v + v] %= m;
                    } else {
                        break;
                    }
                }
            }
        }
    }

    for i in 0..=n * n {
        println!("{}", dp[n][i]);
    }
}
0