用dp算法就ok
package day08;
import java.util.Scanner;
public class day08 {
/**
* @param args
*/
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int [][]a = new int[n][n];
int x,y,z;
for(int i = 0;i<n;i++){
x = scan.nextInt();
y = scan.nextInt();
z = scan.nextInt();
a[x][y] = z;
}
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
if(i==0 && j==0){
continue;
}
if(i == 0){
a[i][j] = a[i][j-1] + a[i][j];
}else if(j == 0){
a[i][j] = a[i-1][j] + a[i][j];
}else if(i != n && j!=n){
a[i][j] = max(a[i-1][j],a[i][j-1]) + a[i][j];
}
}
}
System.out.println(a[n-1][n-1]);
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
public static int max(int a,int b){
int max;
if(a>b){
max = a;
}else{
max = b;
}
return max;
}
}