3033:迷路的Tql

时间限制:2 S   /  内存限制:65536 KB
AC:181   /  Submit:393
问题描述

Tql初次来到厦门,在老城区里迷了路。老城区里有很多蜿蜒的道路,还有很多不能穿越围墙,Tql想从当前的位置回到码头,请帮忙找到一条最近的路径,并且告诉Tql要走到码头需要移动多少步。

假设把老城区看成一个a行b列的二维网格,Tql所在的位置标为1,码头的位置标为2,道路标为0,围墙标为9。Tql每一步只能向上、下、左、右的某一个方向移动一格。

输入描述

多组案例。一个正整数n,表示案例的数量。(n<=20)

每组案例先是两个正整数a和b,然后是a行b列的数字字符,代表地图,其中1表示Tql所在的位置,2表示码头的位置,0表示道路,9表示不能通过的围墙。地图上只会有一格是1,也只会有一格是2。(2<=a<=10,2<=b<=10)

输出描述

针对每组案例,输出一个整数,表示移动到码头最少需要多少步。如果无法移动至码头,则输出-1。

每组案例输出完都要换行。

样例输入复制样例

2

3 4

1992

0090

9000

3 3

192

090

090

样例输出

7

-1

相关

20-21(1)第5次线上赛

题单#8(BFS)

2024级cpp上机练习题第20次(二维数组)


Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1