提出 #49357122
ソースコード 拡げる
use std::collections::{HashMap, HashSet, VecDeque};
use proconio::input;
fn main() {
input! {
n: usize,
capital_x: i64,
capital_y: i64,
xy: [(i64, i64); n],
};
let inf = 1_usize << 60;
let ng = xy.into_iter().collect::<HashSet<(i64, i64)>>();
let mut dist = HashMap::new();
let mut deque = VecDeque::new();
deque.push_back(((0_i64, 0_i64), 0_usize));
dist.insert((0, 0), 0_usize);
while let Some(((x, y), d)) = deque.pop_front() {
if d > *dist.get(&(x, y)).unwrap() {
continue;
}
let dir = vec![(1, 1), (0, 1), (-1, 1), (1, 0), (-1, 0), (0, -1)];
for (dx, dy) in dir {
let (nx, ny, nd) = (x + dx, y + dy, d + 1);
if !(-201_i64..=201_i64).contains(&nx) || !(-201_i64..=201_i64).contains(&ny) {
continue;
}
if ng.contains(&(nx, ny)) {
continue;
}
let min = *dist.get(&(nx, ny)).unwrap_or(&inf);
if nd < min {
dist.insert((nx, ny), nd);
deque.push_back(((nx, ny), nd));
}
}
}
let ans = dist
.get(&(capital_x, capital_y))
.map(|x| *x as i64)
.unwrap_or(-1_i64);
println!("{}", ans);
}
提出情報
| 提出日時 |
|
| 問題 |
G - グリッド金移動 |
| ユーザ |
bouzuya |
| 言語 |
Rust (rustc 1.70.0) |
| 得点 |
6 |
| コード長 |
1302 Byte |
| 結果 |
AC |
| 実行時間 |
73 ms |
| メモリ |
11696 KiB |
ジャッジ結果
| セット名 |
All |
| 得点 / 配点 |
6 / 6 |
| 結果 |
|
| セット名 |
テストケース |
| All |
0.txt, 1.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 2.txt, 20.txt, 21.txt, 3.txt, 4.txt, 5.txt, 6.txt, 7.txt, 8.txt, 9.txt, s1.txt, s2.txt, s3.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 0.txt |
AC |
62 ms |
11672 KiB |
| 1.txt |
AC |
61 ms |
11596 KiB |
| 10.txt |
AC |
66 ms |
11588 KiB |
| 11.txt |
AC |
66 ms |
11476 KiB |
| 12.txt |
AC |
73 ms |
11644 KiB |
| 13.txt |
AC |
65 ms |
11588 KiB |
| 14.txt |
AC |
68 ms |
11600 KiB |
| 15.txt |
AC |
68 ms |
11668 KiB |
| 16.txt |
AC |
65 ms |
11532 KiB |
| 17.txt |
AC |
1 ms |
1908 KiB |
| 18.txt |
AC |
1 ms |
2016 KiB |
| 19.txt |
AC |
1 ms |
1808 KiB |
| 2.txt |
AC |
68 ms |
11604 KiB |
| 20.txt |
AC |
1 ms |
2036 KiB |
| 21.txt |
AC |
1 ms |
1944 KiB |
| 3.txt |
AC |
67 ms |
11696 KiB |
| 4.txt |
AC |
64 ms |
11584 KiB |
| 5.txt |
AC |
61 ms |
11596 KiB |
| 6.txt |
AC |
61 ms |
11644 KiB |
| 7.txt |
AC |
60 ms |
11592 KiB |
| 8.txt |
AC |
67 ms |
11548 KiB |
| 9.txt |
AC |
1 ms |
1880 KiB |
| s1.txt |
AC |
65 ms |
11592 KiB |
| s2.txt |
AC |
62 ms |
11560 KiB |
| s3.txt |
AC |
62 ms |
11684 KiB |