NaN!=NaN 2022-08-25 19:33 采纳率: 100%
浏览 18
已结题

关于c++转python的问题

请问有人能帮我把以下这段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;
}

  • 写回答

1条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2022-08-25 19:47
    关注

    你具体哪个问题不懂?
    可以看看 https://blog.csdn.net/uniqsa/article/details/78519140

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月25日
  • 已采纳回答 8月25日
  • 创建了问题 8月25日

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办