結果
問題 | No.179 塗り分け |
ユーザー |
|
提出日時 | 2020-07-16 00:11:16 |
言語 | Rust (1.83.0 + proconio) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,694 bytes |
コンパイル時間 | 12,696 ms |
コンパイル使用メモリ | 378,424 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-22 17:49:59 |
合計ジャッジ時間 | 14,470 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 39 WA * 1 |
ソースコード
//TODO fn main() { let mut hw = String::new(); std::io::stdin().read_line(&mut hw).ok(); let hw: Vec<usize> = hw.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let h = hw[0]; let w = hw[1]; let mut mapping: Vec<Vec<char>> = vec![]; for _ in 0..h { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); mapping.push(s.trim().chars().collect()); } for i in 0..h { for j in 0..w { if i == 0 && j == 0 { continue; } for direct in vec![-1, 1].iter() { let mut used: Vec<Vec<bool>> = vec![vec![false; w]; h]; let mut flg = true; for k in 0..h { for (l, val) in mapping[k].iter().enumerate() { if *val == '#' { let row: usize = k + i; let col: isize = l as isize + j as isize * direct; if !used[k][l] { if row >= h || col >= w as isize || col < 0isize || mapping[row][col as usize] != '#' { flg = false; break; } else { used[row][col as usize] = true; } } } } if !flg { break; } } if flg { println!("YES"); return; } } } } println!("NO"); }