迷宫路径
时间限制:1秒 内存限制:256M
【题目描述】
给定一个迷宫,迷宫中有一些障碍和一些记录点,你需要在不经过障碍的情况下,按顺序依次经过每个记录点(不能提前经过),若有解则求出最小的步数,否则输出 -1。
【输入格式】
第一行三个整数 \(N,M,K\),表示迷宫的大小为 \(N×M\),有 \(K\) 个记录点。
接下来 \(N\) 行每行 \(M\) 个整数( 0 表示空地,1 表示障碍),表示迷宫的布局。
接下来 \(K\) 行每行两个整数 \(x,y\),表示记录点在第 \(x\) 行第 \(y\) 列,记录点需要按输入顺序依次经过(记录点保证不在障碍格子,没有记录点在同一格子),已经过的记录点不能再次经过。
接下来一行是两个整数 \(x_0,y_0\),表示起始位置(保证不在障碍格子)。
【输出格式】
共一行,一个整数,表示最小的步数或无解。
【输入输出样例1】
Input
3 3 2
0 0 0
0 1 0
0 0 0
3 3
3 1
1 1
Output
6
【数据限制】
对于 \(10\%\) 的数据,\(1≤N,M≤4\),\(0≤K≤1\)
对于 \(30\%\) 的数据,\(1≤N,M≤10\)
对于 \(60\%\) 的数据,\(1≤N,M≤100\)
对于 \(100\%\) 的数据,\(1≤N,M≤1000\),\(0≤K≤10\)
【来源】
Mr.he