v0 k5 U/ g9 u1 P+ ^; B【输入格式】 ) e# s$ H) e9 L2 p g4 H ; [' g! a" f! A; @% m) z; y q7 k 第一行包含两个整数 n 和 m。 & b9 W- g) {1 l6 `$ J6 ?0 h% X+ R1 [$ L7 j' F4 f
接下来 n行,每行包含 m 个整数(0 或 1),表示完整的二维数组迷宫。& ]: E. m% X8 k9 y- R
t4 V6 K T4 U, q【输出格式】 - [( m1 z9 W0 w( w . f' T: j. H0 _0 E 输出一个整数,表示从左上角移动至右下角的最少移动次数。- j1 K6 l% ^1 {* [0 I8 N% N
0 g( |: a w( A9 ]0 O
【数据范围】' z0 A1 R" G$ X. r% m! D J' |
) b' W$ t# C! d* K y 1≤n,m≤100 6 ]: ^( f5 g# w& V& {" v( |' d/ F 2 {+ b% A% l( _4 ~! |) o4 s【输入样例】6 N) B; z: O- i( g
) {4 E2 z% H9 A5 5% G% T/ g1 s$ b+ {
0 1 0 0 0" Y7 p) A, V( @5 u; X9 l
0 1 0 1 0 8 F) O4 D3 W1 `0 j/ a) E+ n0 0 0 0 0/ |/ \ S; N. r1 a9 U
0 1 1 1 0( z2 S2 f" o2 s9 K
0 0 0 1 0 1 J+ b8 u1 t( J( O c" F# v% H【输出样例】; B' ?( Y# C+ E7 m4 s6 M) T
! @; ~# R# n; }! v0 G3 l0 [% w
8 ) q" |8 |/ V- g9 `: M6 E# | 【解题思路】( L" @( v1 R$ w
. {) \: P3 {' k2 O- @3 { BFS的典中典。
from collections import * 1 |/ O6 P% x) _( {
n,m = map(int,input().split())0 W\" _ s4 o* K: F L9 n\" I8 E
mp = [[0]*(m+5)] A! ~: r8 [7 l7 B
for i in range(n): 2 e& {$ ]* |# b y% n
mp.append([0]+list(map(int,input().split())))* M, Y0 s. A0 G. ?8 D% M' W v
dir = [(1,0),(-1,0),(0,1),(0,-1)]+ V\" d$ l; j8 L+ \; o r
st = [[0]*(m+5) for _ in range(n+5)]; g2 Z8 d8 {* G4 W& ~