AcWing 1018. 最低通行费

解题思路

和数字三角形的思路基本是一致的,但是首先我们需要对f数组进行预处理。

相关代码

import java.util.Scanner;

public class Main {

    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int a[][] = new int[n+1][n+1];

        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
                a[i][j] = scanner.nextInt();
        
        int f[][] = new int[n+1][n+1];
       
        //边界可能会对结果产生影响,所以我们需要对f数组进行预处理
        for(int i=0;i<=n;i++)
            for(int j=0;j<=n;j++)
                f[i][j] = Integer.MAX_VALUE;
                
         f[1][1] = a[1][1];
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++){
                if(i==1&&j==1) continue;
                f[i][j]=Math.min(f[i-1][j],f[i][j-1])+a[i][j];
            }
        System.out.println(f[n][n]);
    }
}
相关推荐
XianxinMao3 小时前
RLHF技术应用探析:从安全任务到高阶能力提升
人工智能·python·算法
hefaxiang3 小时前
【C++】函数重载
开发语言·c++·算法
exp_add33 小时前
Codeforces Round 1000 (Div. 2) A-C
c++·算法
查理零世4 小时前
【算法】经典博弈论问题——巴什博弈 python
开发语言·python·算法
神探阿航4 小时前
第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
java·算法·蓝桥杯
皮肤科大白4 小时前
如何在data.table中处理缺失值
学习·算法·机器学习
不能只会打代码6 小时前
蓝桥杯例题一
算法·蓝桥杯
OKkankan6 小时前
实现二叉树_堆
c语言·数据结构·c++·算法
ExRoc8 小时前
蓝桥杯真题 - 填充 - 题解
c++·算法·蓝桥杯
利刃大大8 小时前
【二叉树的深搜】二叉树剪枝
c++·算法·dfs·剪枝