AcWing 1018. 最低通行费-java 精简
原题链接
简单
作者:
莫得感情的刷题机器
,
2020-08-18 10:31:23
,
所有人可见
,
阅读 690
跟着y总学了一个多月了,发现对dp有了很多收获,也从一个啥都不会的小白会了一点点
/**
* 这个题的2n-1的限制等价于不走回头路,只能往下或者往右。
*/
import java.util.*;
public class Main{
public static void main(String []args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[][] arr=new int[n+1][n+1];
int[][] f=new int[n+1][n+1];
for(int i=0;i<=n;i++) Arrays.fill(f[i],0x3f3f3f3f);//因为求最小所以初始化一下
f[1][0]=0;//这个是初始化f[1][1]用的,因为不想在for里面写判断,所以在这用他初始化吧
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++){
arr[i][j]=sc.nextInt();
f[i][j]=Math.min(f[i-1][j],f[i][j-1])+arr[i][j];
}
System.out.println(f[n][n]);
}
}
厉害,我dp都晕了
老哥别闹,我还是个新手