提出 #32866396


ソースコード 拡げる

use proconio::{input, marker::Usize1};

fn dfs(
    res: &mut usize,
    capital_a: &mut Vec<usize>,
    n: usize,
    m: usize,
    q: usize,
    abcd: &[(usize, usize, usize, usize)],
    i: usize,
) {
    if capital_a.len() == n {
        let mut r = 0;
        for (a, b, c, d) in abcd.iter().copied() {
            if capital_a[b] - capital_a[a] == c {
                r += d;
            }
        }
        *res = (*res).max(r);
        return;
    }

    for j in i..=m {
        capital_a.push(j);
        dfs(res, capital_a, n, m, q, abcd, j);
        capital_a.pop();
    }
}

fn main() {
    input! {
        n: usize,
        m: usize,
        q: usize,
        abcd: [(Usize1, Usize1, usize, usize); q]
    };
    let mut ans = 0;
    let mut capital_a = vec![];
    dfs(&mut ans, &mut capital_a, n, m, q, &abcd, 1);
    println!("{}", ans);
}

提出情報

提出日時
問題 C - Many Requirements
ユーザ bouzuya
言語 Rust (1.42.0)
得点 300
コード長 858 Byte
結果 AC
実行時間 22 ms
メモリ 2152 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 15
セット名 テストケース
Sample 00-sample-00, 00-sample-01, 00-sample-02
All 00-sample-00, 00-sample-01, 00-sample-02, 01-handmade-03, 01-handmade-04, 01-handmade-05, 01-handmade-06, 02-random-07, 02-random-08, 02-random-09, 02-random-10, 02-random-11, 02-random-12, 02-random-13, 02-random-14
ケース名 結果 実行時間 メモリ
00-sample-00 AC 8 ms 2148 KiB
00-sample-01 AC 2 ms 1900 KiB
00-sample-02 AC 3 ms 1976 KiB
01-handmade-03 AC 1 ms 2104 KiB
01-handmade-04 AC 22 ms 2112 KiB
01-handmade-05 AC 17 ms 2056 KiB
01-handmade-06 AC 1 ms 2052 KiB
02-random-07 AC 1 ms 2108 KiB
02-random-08 AC 1 ms 2096 KiB
02-random-09 AC 1 ms 2152 KiB
02-random-10 AC 1 ms 2072 KiB
02-random-11 AC 1 ms 2092 KiB
02-random-12 AC 2 ms 2148 KiB
02-random-13 AC 3 ms 2140 KiB
02-random-14 AC 18 ms 2116 KiB