题目大意: 给你一个m*n的矩阵,a[i][j]=0,表示可以走,=1表示障碍,起点是(1,1,)终点是(m,n),问你从起点到终点的最短路径,另外还给你一个k,表示你可以走障碍的最多步数。 思路:这个题乍一看和普通bfs一样,但是我们平时做的大部分都是k=0的情况,这题它多了一个条件,就是你可以沿着某个方向走最多k个障碍物,这使得题目变得复杂起来了。为了解决这个问题,我们需要描述障碍的步数,但是二维表的障碍步数不能描绘所有障碍的情况,所以我们需要一个三维数组判重,vis[x][y][z],表示从父节点到(x,y)这个地方经过的障碍物数量是z,没有障碍物则z=0; 代码: #include&l...