提出 #30714526


ソースコード 拡げる

use proconio::{input, marker::Chars, marker::Usize1};

const DIR: [(usize, usize); 4] = [
    (1, 1),
    (1, 1_usize.wrapping_neg()),
    (1_usize.wrapping_neg(), 1),
    (1_usize.wrapping_neg(), 1_usize.wrapping_neg()),
];
fn main() {
    input! {
        n: usize,
        a: (Usize1, Usize1),
        b: (Usize1, Usize1),
        s: [Chars; n],
    }
    if (a.0 + a.1) % 2 != (b.0 + b.1) % 2 {
        println!("-1");
        return;
    }
    let bfs = |sh: usize, sw: usize| -> i32 {
        let mut que = std::collections::VecDeque::new();
        let mut dist = vec![vec![-1; n]; n];
        dist[sh][sw] = 0;
        que.push_back((sh, sw));
        while !que.is_empty() {
            let v = que.pop_front().unwrap();
            for &(dh, dw) in DIR.iter() {
                for d in 1..n {
                    let nh = v.0 + d * dh;
                    let nw = v.1 + d * dw;
                    if n <= nh || n <= nw {
                        break;
                    }
                    if s[nh][nw] == '#' {
                        break;
                    }
                    if dist[nh][nw] != -1 {
                        continue;
                    }
                    dist[nh][nw] = dist[v.0][v.1] + 1;
                    if nh == b.0 && nw == b.1 {
                        return dist[b.0][b.1];
                    }
                    que.push_back((nh, nw));
                }
            }
        }
        dist[b.0][b.1]
    };
    println!("{}", bfs(a.0, a.1))
}

提出情報

提出日時
問題 E - Bishop 2
ユーザ ntk_ta01
言語 Rust (1.42.0)
得点 500
コード長 1558 Byte
結果 AC
実行時間 2423 ms
メモリ 39532 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 500 / 500
結果
AC × 3
AC × 60
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 7 ms 2032 KiB
sample_02.txt AC 1 ms 2000 KiB
sample_03.txt AC 4 ms 2040 KiB
test_01.txt AC 2 ms 2068 KiB
test_02.txt AC 1 ms 2088 KiB
test_03.txt AC 1 ms 2068 KiB
test_04.txt AC 1 ms 2116 KiB
test_05.txt AC 2 ms 2156 KiB
test_06.txt AC 152 ms 18176 KiB
test_07.txt AC 31 ms 12204 KiB
test_08.txt AC 19 ms 4212 KiB
test_09.txt AC 2 ms 2164 KiB
test_10.txt AC 4 ms 2656 KiB
test_11.txt AC 975 ms 36392 KiB
test_12.txt AC 79 ms 9352 KiB
test_13.txt AC 2 ms 2324 KiB
test_14.txt AC 2 ms 2440 KiB
test_15.txt AC 3 ms 3616 KiB
test_16.txt AC 2 ms 2148 KiB
test_17.txt AC 50 ms 7276 KiB
test_18.txt AC 19 ms 7252 KiB
test_19.txt AC 2 ms 2128 KiB
test_20.txt AC 25 ms 12360 KiB
test_21.txt AC 5 ms 2668 KiB
test_22.txt AC 57 ms 10696 KiB
test_23.txt AC 17 ms 3352 KiB
test_24.txt AC 4 ms 3588 KiB
test_25.txt AC 2 ms 2744 KiB
test_26.txt AC 97 ms 20284 KiB
test_27.txt AC 129 ms 18380 KiB
test_28.txt AC 5 ms 3084 KiB
test_29.txt AC 22 ms 17680 KiB
test_30.txt AC 27 ms 21712 KiB
test_31.txt AC 219 ms 27776 KiB
test_32.txt AC 82 ms 22312 KiB
test_33.txt AC 54 ms 22056 KiB
test_34.txt AC 50 ms 21840 KiB
test_35.txt AC 31 ms 21716 KiB
test_36.txt AC 128 ms 22896 KiB
test_37.txt AC 28 ms 22196 KiB
test_38.txt AC 21 ms 13164 KiB
test_39.txt AC 25 ms 21920 KiB
test_40.txt AC 29 ms 21656 KiB
test_41.txt AC 45 ms 22388 KiB
test_42.txt AC 22 ms 13188 KiB
test_43.txt AC 66 ms 22012 KiB
test_44.txt AC 28 ms 21824 KiB
test_45.txt AC 22 ms 13148 KiB
test_46.txt AC 58 ms 29876 KiB
test_47.txt AC 2423 ms 36076 KiB
test_48.txt AC 1209 ms 38460 KiB
test_49.txt AC 96 ms 35548 KiB
test_50.txt AC 43 ms 27240 KiB
test_51.txt AC 45 ms 28012 KiB
test_52.txt AC 56 ms 32132 KiB
test_53.txt AC 20 ms 13044 KiB
test_54.txt AC 28 ms 21836 KiB
test_55.txt AC 87 ms 39532 KiB
test_56.txt AC 20 ms 13116 KiB
test_57.txt AC 48 ms 21788 KiB