Rust part11at TECH
Rust part11 - 暇つぶし2ch621:デフォルトの名無しさん
21/08/12 00:24:49.53 pB2NXWq+.net
>>603
メモ化するならこう
fn main() {
 let mut input_line = String::new();
 std::io::stdin().read_line(&mut input_line).unwrap();
 let input_numbers: Vec<i32> = input_line.split_whitespace().filter_map(|s| s.parse().ok()).collect();
 let n = input_numbers[0];
 let abc = &input_numbers[1..];
 let mut memo: Vec<i32> = vec!(1);
 memo.resize((n + 1) as usize, -1);
 println!("{}", count(n, abc, &mut memo));
}
fn count(n: i32, abc: &[i32], memo: &mut [i32]) -> i32 {
 abc.iter().map(|a| { let m = n - a; if m < 0 { 0 } else { if memo[m as usize] == -1 { memo[m as usize] = count(m, abc, memo); }; memo[m as usize] }}).sum()
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch