请问有人能帮我把以下这段c++代码转成python代码吗?十分感谢!
问题描述:
地图每个位置都有一个数字表示经过这个位置需要用的时间,地图如下:
1 6 6 6
15 7 6 6
15 3 6 6
15 15 1 1
输入:第一行包含两个正整数 N 和 M(1<N,M<30)表示地图长和宽
下面一行包含 4 个整数,
前两个数表示起点,后面两个数表示终点,最后是一个 N 行 M 列的二维数组,
每个数字表示走当前位置需要用的时间。
输出:一个整数,表示最短时间。样例输入:
【样例输入】
4 4
1 1 4 4
1 6 6 6
15 7 6 6
15 3 6 6
15 15 1 1
【样例输出】
25
【样例解释】
#include<bits/stdc++.h>
using namespace std;
int a[101][101],m,n,sum=0,mins=2147483647;
int f[4][2]={{0,1},{-1,0},{1,0},{0,-1}};
int sx,sy,ex,ey,book[101][101];
void dfs(int x,int y){
book[x][y]=1;
sum+=a[x][y];
if(x==ex && y==ey){
mins=sum<mins?sum:mins;
book[x][y]=0;
sum-=a[x][y];
return;
}
for(int i=0;i<4;i++){
int xx=x+f[i][0];
int yy=y+f[i][1];
if(xx>=1 && xx<=n && yy>=1 && yy<=m && a[xx][yy] && book[xx][yy]==0){
dfs(xx,yy);
}
}
book[x][y]=0;
sum-=a[x][y];
return;
}
int main(){
cin >> n >> m;
cin >> sx >> sy >> ex >> ey;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin >> a[i][j];
}
}
dfs(sx,sy);
cout << mins;
return 0;
}