第一题我的思路就是新建个二维arr数组,取arr[i+1][j]和arr[i][j+1]+arr2[i][j+2]的最小值,
可是只通过了 40%
public class solution1 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[][] arr=new int[n][n];
        for(int i=0;i<n;i++){
            String s=sc.next();
            String[] str=s.split(",");
            int[] num=new int[n];
            for(int k=0;k<n;k++){
                num[k]=Integer.valueOf(str[k]);
            }
            arr[i]=num;
        }
        int[][] arr2=new int[n][n];
        for(int i=n-2;i>=0;i=i-2){
            for(int j=n-1;j>=0;j--){
                if(j>=n-2){
                    if(i==n-2){
                        arr2[i][j]=arr[i+1][j];
                    }else{
                        arr2[i][j]=arr2[i+2][j]+arr[i+1][j];
                    }
                }else{
                    if(i==n-2){
                        arr2[i][j]=Math.min(arr[i+1][j],arr[i][j+1]+arr2[i][j+2]);
                    }else{
                        arr2[i][j]=Math.min(arr[i+1][j]+arr2[i+2][j],arr[i][j+1]+arr2[i][j+2]);
                    }
                }
            }
        }
        int min=Integer.MAX_VALUE;
        for(int i=0;i<n;i++){
            min=Math.min(arr2[0][i],min);
        }
        System.out.println(min);
    }
}