結果
| 問題 |
No.411 昇順昇順ソート
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-05-12 00:36:36 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 915 bytes |
| コンパイル時間 | 12,877 ms |
| コンパイル使用メモリ | 377,504 KB |
| 実行使用メモリ | 10,624 KB |
| 最終ジャッジ日時 | 2024-07-19 10:49:39 |
| 合計ジャッジ時間 | 17,457 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 24 TLE * 1 -- * 5 |
ソースコード
fn dfs(current: &mut Vec<usize>, cnt: &mut usize, lim: usize) -> usize {
if current.len() == lim {
return *cnt;
}
let mut result = 0;
for i in 1..=lim {
if current.contains(&i) {
continue;
} else if current[current.len()-1] < i || *cnt == 0 as usize {
if current[current.len()-1] > i { *cnt += 1; }
current.push(i);
result += dfs(current, cnt, lim);
current.pop();
if current[current.len()-1] > i { *cnt -= 1; }
}
}
result
}
fn main() {
let mut nk = String::new();
std::io::stdin().read_line(&mut nk).ok();
let nk: Vec<usize> = nk.trim().split_whitespace().map(|s| s.parse().unwrap()).collect();
let n = nk[0];
let k = nk[1];
let mut base: Vec<usize> = vec![k; 1];
let mut cnt = 0;
let result = dfs(&mut base, &mut cnt, n);
println!("{}", result);
}