提出 #16271010
ソースコード 拡げる
use proconio::input;
use proconio::marker::Chars;
fn f(a: &Vec<Vec<char>>) -> bool {
let mut b = a.clone();
let mut count = 0;
let r = b.len();
for i in 0..r {
let c = b[i].len();
for j in 0..c {
if b[i][j] == 'x' {
continue;
}
count += 1;
// dfs
let mut stack = vec![];
stack.push((i, j));
while let Some((y, x)) = stack.pop() {
if b[y][x] == 'x' {
continue;
}
b[y][x] = 'x';
let dir = vec![(-1, 0), (0, -1), (0, 1), (1, 0)];
for (d_r, d_c) in dir.iter() {
let (y_next, x_next) = (y as i64 + d_r, x as i64 + d_c);
if !(0..r as i64).contains(&y_next) || !(0..c as i64).contains(&x_next) {
continue;
}
let (y_next, x_next) = (y_next as usize, x_next as usize);
match b[y_next][x_next] {
'o' => stack.push((y_next, x_next)),
'x' => {}
_ => unreachable!(),
}
}
}
}
}
count <= 1
}
fn main() {
input! {
mut a: [Chars; 10],
};
let mut is_ok = f(&a);
for i in 0..10 {
for j in 0..10 {
if a[i][j] == 'o' {
continue;
}
a[i][j] = 'o';
is_ok |= f(&a);
a[i][j] = 'x';
}
}
let ans = is_ok;
println!("{}", if ans { "YES" } else { "NO" });
}
提出情報
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 100 / 100 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 10_rand_00.txt, 10_rand_01.txt, 10_rand_02.txt, 10_rand_03.txt, 10_rand_04.txt, 10_rand_05.txt, 10_rand_06.txt, 10_rand_07.txt, 10_rand_08.txt, 10_rand_09.txt, 10_rand_10.txt, 10_rand_11.txt, 10_rand_12.txt, 10_rand_13.txt, 10_rand_14.txt, 10_rand_15.txt, 10_rand_16.txt, 10_rand_17.txt, 10_rand_18.txt, 10_rand_19.txt, 10_rand_20.txt, 10_rand_21.txt, 10_rand_22.txt, 10_rand_23.txt, 10_rand_24.txt, 10_rand_25.txt, 10_rand_26.txt, 10_rand_27.txt, 10_rand_28.txt, 10_rand_29.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 8 ms | 2136 KiB |
| 00_sample_01.txt | AC | 2 ms | 2036 KiB |
| 00_sample_02.txt | AC | 2 ms | 2116 KiB |
| 10_rand_00.txt | AC | 3 ms | 2048 KiB |
| 10_rand_01.txt | AC | 2 ms | 1964 KiB |
| 10_rand_02.txt | AC | 2 ms | 2068 KiB |
| 10_rand_03.txt | AC | 2 ms | 2016 KiB |
| 10_rand_04.txt | AC | 2 ms | 2064 KiB |
| 10_rand_05.txt | AC | 2 ms | 2056 KiB |
| 10_rand_06.txt | AC | 2 ms | 1940 KiB |
| 10_rand_07.txt | AC | 2 ms | 2060 KiB |
| 10_rand_08.txt | AC | 2 ms | 2040 KiB |
| 10_rand_09.txt | AC | 1 ms | 2012 KiB |
| 10_rand_10.txt | AC | 2 ms | 2084 KiB |
| 10_rand_11.txt | AC | 1 ms | 2084 KiB |
| 10_rand_12.txt | AC | 2 ms | 1988 KiB |
| 10_rand_13.txt | AC | 1 ms | 1924 KiB |
| 10_rand_14.txt | AC | 2 ms | 1932 KiB |
| 10_rand_15.txt | AC | 4 ms | 2044 KiB |
| 10_rand_16.txt | AC | 3 ms | 2088 KiB |
| 10_rand_17.txt | AC | 2 ms | 2056 KiB |
| 10_rand_18.txt | AC | 2 ms | 1948 KiB |
| 10_rand_19.txt | AC | 2 ms | 2008 KiB |
| 10_rand_20.txt | AC | 2 ms | 2096 KiB |
| 10_rand_21.txt | AC | 2 ms | 1892 KiB |
| 10_rand_22.txt | AC | 2 ms | 1996 KiB |
| 10_rand_23.txt | AC | 2 ms | 2012 KiB |
| 10_rand_24.txt | AC | 3 ms | 1960 KiB |
| 10_rand_25.txt | AC | 2 ms | 2060 KiB |
| 10_rand_26.txt | AC | 2 ms | 2168 KiB |
| 10_rand_27.txt | AC | 2 ms | 1888 KiB |
| 10_rand_28.txt | AC | 2 ms | 1964 KiB |
| 10_rand_29.txt | AC | 2 ms | 2096 KiB |