Submission #50308204
Source Code Expand
use std::collections::VecDeque;
use proconio::{input, marker::Chars};
fn ok(n: usize, m: usize, s: &[Vec<char>]) -> bool {
let mut count = 0_usize;
let mut visited = vec![vec![false; m]; n];
for i in 0..n {
for j in 0..m {
if s[i][j] == '#' || visited[i][j] {
continue;
}
count += 1;
let mut deque = VecDeque::new();
visited[i][j] = true;
deque.push_back((i, j));
while let Some((r, c)) = deque.pop_front() {
let dir = vec![(-1, 0), (0, -1), (0, 1), (1, 0)];
for (dr, dc) in dir {
let (nr, nc) = (r as i64 + dr, c as i64 + dc);
if !(0..n as i64).contains(&nr) || !(0..m as i64).contains(&nc) {
continue;
}
let (nr, nc) = (nr as usize, nc as usize);
if s[nr][nc] == '#' {
continue;
}
if visited[nr][nc] {
continue;
}
visited[nr][nc] = true;
deque.push_back((nr, nc));
}
}
}
}
count == 1
}
fn main() {
input! {
n: usize,
m: usize,
mut s: [Chars; n],
};
let mut count = 0_usize;
for i in 0..n {
for j in 0..m {
if s[i][j] != '#' {
continue;
}
s[i][j] = '.';
if ok(n, m, &s) {
count += 1;
}
s[i][j] = '#';
}
}
let ans = count;
println!("{}", ans);
}
Submission Info
| Submission Time | |
|---|---|
| Task | G - 村整備 |
| User | bouzuya |
| Language | Rust (rustc 1.70.0) |
| Score | 6 |
| Code Size | 1691 Byte |
| Status | AC |
| Exec Time | 1 ms |
| Memory | 2076 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 6 / 6 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt |
| All | handmade_00.txt, handmade_01.txt, handmade_02.txt, handmade_03.txt, handmade_04.txt, handmade_05.txt, handmade_06.txt, handmade_07.txt, handmade_08.txt, handmade_09.txt, handmade_10.txt, handmade_11.txt, random_2_components_00.txt, random_2_components_01.txt, random_2_components_02.txt, random_2_components_03.txt, random_2_components_04.txt, random_2_components_05.txt, random_2_components_06.txt, random_2_components_07.txt, random_2_components_08.txt, random_2_components_09.txt, random_3_components_00.txt, random_3_components_01.txt, random_3_components_02.txt, random_3_components_03.txt, random_3_components_04.txt, random_3_components_05.txt, random_3_components_06.txt, random_3_components_07.txt, random_3_components_08.txt, random_3_components_09.txt, random_connected_00.txt, random_connected_01.txt, random_connected_02.txt, random_connected_03.txt, random_connected_04.txt, random_connected_05.txt, random_connected_06.txt, random_connected_07.txt, random_connected_08.txt, random_connected_09.txt, sample_01.txt, sample_02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| handmade_00.txt | AC | 1 ms | 2056 KiB |
| handmade_01.txt | AC | 1 ms | 1920 KiB |
| handmade_02.txt | AC | 1 ms | 1972 KiB |
| handmade_03.txt | AC | 1 ms | 1908 KiB |
| handmade_04.txt | AC | 1 ms | 2060 KiB |
| handmade_05.txt | AC | 0 ms | 1912 KiB |
| handmade_06.txt | AC | 0 ms | 1868 KiB |
| handmade_07.txt | AC | 0 ms | 1804 KiB |
| handmade_08.txt | AC | 0 ms | 1892 KiB |
| handmade_09.txt | AC | 0 ms | 2052 KiB |
| handmade_10.txt | AC | 1 ms | 1964 KiB |
| handmade_11.txt | AC | 1 ms | 1952 KiB |
| random_2_components_00.txt | AC | 0 ms | 2064 KiB |
| random_2_components_01.txt | AC | 1 ms | 1904 KiB |
| random_2_components_02.txt | AC | 0 ms | 2056 KiB |
| random_2_components_03.txt | AC | 0 ms | 1916 KiB |
| random_2_components_04.txt | AC | 0 ms | 2052 KiB |
| random_2_components_05.txt | AC | 0 ms | 2076 KiB |
| random_2_components_06.txt | AC | 0 ms | 1924 KiB |
| random_2_components_07.txt | AC | 1 ms | 1744 KiB |
| random_2_components_08.txt | AC | 0 ms | 1916 KiB |
| random_2_components_09.txt | AC | 1 ms | 1800 KiB |
| random_3_components_00.txt | AC | 0 ms | 1924 KiB |
| random_3_components_01.txt | AC | 1 ms | 2000 KiB |
| random_3_components_02.txt | AC | 0 ms | 1960 KiB |
| random_3_components_03.txt | AC | 0 ms | 2068 KiB |
| random_3_components_04.txt | AC | 1 ms | 1920 KiB |
| random_3_components_05.txt | AC | 0 ms | 1852 KiB |
| random_3_components_06.txt | AC | 1 ms | 1968 KiB |
| random_3_components_07.txt | AC | 0 ms | 1996 KiB |
| random_3_components_08.txt | AC | 0 ms | 1916 KiB |
| random_3_components_09.txt | AC | 1 ms | 1784 KiB |
| random_connected_00.txt | AC | 0 ms | 2072 KiB |
| random_connected_01.txt | AC | 0 ms | 1868 KiB |
| random_connected_02.txt | AC | 0 ms | 1900 KiB |
| random_connected_03.txt | AC | 1 ms | 1956 KiB |
| random_connected_04.txt | AC | 0 ms | 1920 KiB |
| random_connected_05.txt | AC | 1 ms | 1988 KiB |
| random_connected_06.txt | AC | 0 ms | 1856 KiB |
| random_connected_07.txt | AC | 1 ms | 1912 KiB |
| random_connected_08.txt | AC | 1 ms | 2060 KiB |
| random_connected_09.txt | AC | 1 ms | 1920 KiB |
| sample_01.txt | AC | 0 ms | 1956 KiB |
| sample_02.txt | AC | 0 ms | 2052 KiB |