问题
难度:普及+/提高
说明:
https://www.luogu.com.cn/problem/P1006
一位同学要把纸条传到另一个同学,另外一个同学也需要回传,传递的同学和他们之间有亲密度,那么求来回两条路径经过同学亲密度最大值是多少。
输入范围:
对于 30% 的数据,101≤m,n≤10; 对于 100% 的数据满足: 501≤m,n≤50。
输入案例:
输入
3 3
0 3 9
2 8 5
5 7 0
// 从左上角经过 3 -> 9 -> 5,然后右下角经过 7 -> 8 -> 2即可
输出
34
我的代码:
有看过题解,具体解法是用一个三维数组,dp的原理毕竟是拿到以前最优解和现在的值进行处理,所以放了三维数组也是一样意思,把三个维度最优解拿到当前遍历节点中进行相加。
然后两个字条同时发出的话,他们同一时刻的路径相同,也就是 x1 + y1 = x2 + y2,如果设 k 是不同 x 上的维度那么有
import java.util.Scanner;
public class P1006_Paper {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt