Submission #1405099
Source Code Expand
mod reader { use std::fmt::Debug; use std::str::FromStr; use std::collections::VecDeque; use std::io::{self, Read}; fn _read_line() -> String { let mut buf = String::new(); let _ = io::stdin().read_to_string(&mut buf); buf } fn _read_vec_deque_string() -> VecDeque<String> { _read_line() .split_whitespace() .map(|s| s.to_string()) .collect() } #[allow(dead_code)] pub struct Reader { buf: VecDeque<String>, } #[allow(dead_code)] impl Reader { pub fn new() -> Reader { Reader { buf: VecDeque::new() } } fn update_buf(&mut self) { if self.buf.is_empty() { self.buf = _read_vec_deque_string(); } } pub fn next<T>(&mut self) -> T where T: FromStr, T::Err: Debug, { self.update_buf(); self.buf.pop_front().unwrap().parse::<T>().unwrap() } pub fn next_n<T>(&mut self, n: usize) -> Vec<T> where T: FromStr, T::Err: Debug, { let mut vec: Vec<T> = Vec::with_capacity(n); for _ in 0..n { vec.push(self.next()); } vec } } } #[allow(unused_macros)] macro_rules! p { ([$($x:expr), *]) => {{ let mut f = true; $( print!("{}{}", if f {""} else {" "}, $x); f = false; )* print!("\n"); }}; ($x:expr) => {{ let mut f = true; for a in $x.iter() { print!("{}{}", if f {""} else {" "}, a); f = false; } print!("\n"); }}; } trait ToChars { fn to_chars(&self) -> Vec<char>; } impl ToChars for String { fn to_chars(&self) -> Vec<char> { self.chars().collect::<Vec<char>>() } } fn main() { let mut r = reader::Reader::new(); const MOD: i32 = (1e9 + 7.) as i32; let n = r.next(); let k = r.next(); let mut dp = vec![vec![0; k + 1]; n + 1]; dp[0][0] = 1; let d = if n > k {k} else {1} + 1; let k = k % n; for i in 0..n { for j in 0..k + 1 { for l in 0..d { if (j + l > k) { continue; } dp[i+1][j+l] += dp[i][j]; dp[i+1][j+l] %= MOD; } } } p!([dp[n][k]]); }
Submission Info
Submission Time | |
---|---|
Task | B - 高橋幼稚園 |
User | yuusti |
Language | Rust (1.15.1) |
Score | 100 |
Code Size | 2621 Byte |
Status | AC |
Exec Time | 3 ms |
Memory | 4352 KB |
Compile Error
warning: unnecessary parentheses around `if` condition, #[warn(unused_parens)] on by default --> ./Main.rs:108:20 | 108 | if (j + l > k) { | ^^^^^^^^^^^ warning: value assigned to `f` is never read, #[warn(unused_assignments)] on by default --> ./Main.rs:67:13 | 67 | f = false; | ^ ... 117 | p!([dp[n][k]]); | --------------- in this macro invocation
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 80 / 80 | 20 / 20 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt |
Subtask1 | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt |
Subtask2 | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample_01.txt | AC | 2 ms | 4352 KB |
subtask0_sample_02.txt | AC | 2 ms | 4352 KB |
subtask0_sample_03.txt | AC | 2 ms | 4352 KB |
subtask1_01.txt | AC | 2 ms | 4352 KB |
subtask1_02.txt | AC | 2 ms | 4352 KB |
subtask1_03.txt | AC | 2 ms | 4352 KB |
subtask1_04.txt | AC | 2 ms | 4352 KB |
subtask1_05.txt | AC | 2 ms | 4352 KB |
subtask1_06.txt | AC | 2 ms | 4352 KB |
subtask1_07.txt | AC | 2 ms | 4352 KB |
subtask1_08.txt | AC | 2 ms | 4352 KB |
subtask1_09.txt | AC | 2 ms | 4352 KB |
subtask1_10.txt | AC | 2 ms | 4352 KB |
subtask1_11.txt | AC | 2 ms | 4352 KB |
subtask1_12.txt | AC | 2 ms | 4352 KB |
subtask1_13.txt | AC | 2 ms | 4352 KB |
subtask1_14.txt | AC | 2 ms | 4352 KB |
subtask1_15.txt | AC | 2 ms | 4352 KB |
subtask1_16.txt | AC | 2 ms | 4352 KB |
subtask1_17.txt | AC | 2 ms | 4352 KB |
subtask1_18.txt | AC | 2 ms | 4352 KB |
subtask1_19.txt | AC | 2 ms | 4352 KB |
subtask2_01.txt | AC | 2 ms | 4352 KB |
subtask2_02.txt | AC | 2 ms | 4352 KB |
subtask2_03.txt | AC | 3 ms | 4352 KB |
subtask2_04.txt | AC | 2 ms | 4352 KB |
subtask2_05.txt | AC | 2 ms | 4352 KB |
subtask2_06.txt | AC | 2 ms | 4352 KB |
subtask2_07.txt | AC | 2 ms | 4352 KB |
subtask2_08.txt | AC | 2 ms | 4352 KB |
subtask2_09.txt | AC | 2 ms | 4352 KB |
subtask2_10.txt | AC | 2 ms | 4352 KB |
subtask2_11.txt | AC | 2 ms | 4352 KB |