結果
問題 |
No.408 五輪ピック
|
ユーザー |
|
提出日時 | 2024-08-10 02:43:01 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 12 ms / 5,000 ms |
コード長 | 1,281 bytes |
コンパイル時間 | 13,223 ms |
コンパイル使用メモリ | 377,324 KB |
実行使用メモリ | 5,604 KB |
最終ジャッジ日時 | 2024-08-10 02:43:17 |
合計ジャッジ時間 | 15,010 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
ソースコード
fn main() { proconio::input! { n: usize, m: usize, ab: [(usize, usize); m], } let graph = { let mut g = vec![vec![]; n]; for (a, b) in ab { g[a - 1].push(b - 1); g[b - 1].push(a - 1); } g }; if is_possible(&graph) { println!("YES"); } else { println!("NO"); } } fn is_possible(graph: &Vec<Vec<usize>>) -> bool { let nodes = { let mut nodes = vec![vec![]; graph.len()]; for &ni in &graph[0] { for &nj in &graph[ni] { if nj != 0 { nodes[nj].push(ni); } } } nodes }; for ni in 0..graph.len() { for &nj in &graph[ni] { if nodes[ni].len() == 0 || nodes[nj].len() == 0 { continue; } if nodes[ni].len().min(nodes[nj].len()) >= 3 { return true; } for &nk in &nodes[ni] { if nk != nj { for &nl in &nodes[nj] { if nl != ni && nl != nk { return true; } } } } } } false }