結果
問題 |
No.3262 水色コーダーさん、その問題d問題ですよ?(1<=d<=N)
|
ユーザー |
![]() |
提出日時 | 2025-09-06 13:25:25 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 12 ms / 2,000 ms |
コード長 | 914 bytes |
コンパイル時間 | 27,802 ms |
コンパイル使用メモリ | 399,584 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-09-06 13:26:22 |
合計ジャッジ時間 | 16,112 ms |
ジャッジサーバーID (参考情報) |
judge / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 24 |
ソースコード
use proconio::input; fn main() { input! { n: usize, range: [(usize, usize); n] } let rest = (1 << n) - 1; let mut perm = vec![]; enumerate(n, &mut perm, &mut vec![], rest); let ans = perm .iter() .filter(|v| { let mut ok = true; for j in 0..n { for i in 0..j { if range[v[i]].0 > range[v[j]].1 { ok = false; } } } ok }) .count(); println!("{ans}"); } fn enumerate(n: usize, res: &mut Vec<Vec<usize>>, state: &mut Vec<usize>, rest: usize) { if rest == 0 { res.push(state.clone()); return; } for i in 0..n { if rest >> i & 1 == 1 { state.push(i); enumerate(n, res, state, rest ^ 1 << i); state.pop(); } } }