Submission #38717068
Source Code Expand
use std::collections::VecDeque; use proconio::{input, marker::Chars}; fn main() { input! { h: usize, w: usize, s: [Chars; h], }; let inf = h * w + 1; let mut dist = vec![vec![inf; w]; h]; let mut deque = VecDeque::new(); dist[0][0] = 0; deque.push_back((0, 0)); while let Some((i, j)) = deque.pop_front() { let dir = vec![(-1, 0), (0, -1), (0, 1), (1, 0)]; for (dr, dc) in dir { let (nr, nc) = (i as i64 + dr, j as i64 + dc); if !(0..h as i64).contains(&nr) || !(0..w as i64).contains(&nc) { continue; } let (nr, nc) = (nr as usize, nc as usize); if s[nr][nc] != '.' { continue; } if dist[nr][nc] != inf { continue; } dist[nr][nc] = dist[i][j] + 1; deque.push_back((nr, nc)); } } let d = dist[h - 1][w - 1]; if d == inf { println!("-1"); return; } let d = d + 1; let mut count = 0_usize; for i in 0..h { for j in 0..w { if s[i][j] == '.' { count += 1; } } } let ans = count - d; println!("{}", ans); }
Submission Info
Submission Time | |
---|---|
Task | D - Grid Repainting |
User | bouzuya |
Language | Rust (1.42.0) |
Score | 400 |
Code Size | 1267 Byte |
Status | AC |
Exec Time | 5 ms |
Memory | 2156 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt |
All | in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, s1.txt, s2.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in01.txt | AC | 5 ms | 2084 KiB |
in02.txt | AC | 1 ms | 2064 KiB |
in03.txt | AC | 1 ms | 1944 KiB |
in04.txt | AC | 1 ms | 2028 KiB |
in05.txt | AC | 2 ms | 2008 KiB |
in06.txt | AC | 1 ms | 2020 KiB |
in07.txt | AC | 2 ms | 2068 KiB |
in08.txt | AC | 2 ms | 2024 KiB |
in09.txt | AC | 1 ms | 2128 KiB |
in10.txt | AC | 1 ms | 1952 KiB |
in11.txt | AC | 1 ms | 2124 KiB |
in12.txt | AC | 2 ms | 2028 KiB |
in13.txt | AC | 2 ms | 2020 KiB |
in14.txt | AC | 1 ms | 2132 KiB |
in15.txt | AC | 2 ms | 2084 KiB |
in16.txt | AC | 2 ms | 2124 KiB |
in17.txt | AC | 2 ms | 2108 KiB |
in18.txt | AC | 3 ms | 2156 KiB |
s1.txt | AC | 2 ms | 2092 KiB |
s2.txt | AC | 1 ms | 2032 KiB |