CF213C Relay Race
题目描述
Furik 和 Rubik 参加了一场接力赛。比赛在一个边长为 $n$ 米的大正方形场地上进行。这个正方形被分成了 $n \times n$ 个格子(每个格子为一个单位正方形),每个格子上写有一个数字。
比赛开始时,Furik 站在坐标为 $(1,1)$ 的格子上,Rubik 站在坐标为 $(n,n)$ 的格子上。比赛开始后,Furik 向 Rubik 跑去。如果 Furik 站在坐标为 $(i,j)$ 的格子上,他可以移动到 $(i+1,j)$ 或 $(i,j+1)$ 的格子上。当 Furik 到达 Rubik 所在格子后,Rubik 从 $(n,n)$ 开始跑向 $(1,1)$。如果 Rubik 站在 $(i,j)$,他可以移动到 $(i-1,j)$ 或 $(i,j-1)$。两人都不能走出场地边界,否则会被取消资格。
为了赢得比赛,Furik 和 Rubik 需要获得尽可能多的分数。分数是他们经过的所有格子上的数字之和。每个格子的数字在总和中只计算一次。
请输出 Furik 和 Rubik 在这场接力赛中能获得的最大分数。
输入格式
第一行包含一个整数 $n$,表示正方形的边长,$1 \leq n \leq 300$。接下来的 $n$ 行,每行包含 $n$ 个整数,第 $i$ 行第 $j$ 个数 $a_{i,j}$ 表示坐标为 $(i,j)$ 的格子上的数字,$-1000 \leq a_{i,j} \leq 1000$。
输出格式
输出一行一个整数,表示 Furik 和 Rubik 能获得的最大分数。
说明/提示
对第二个样例的说明:Furik 最优的路径是 $(1,1)$,$(1,2)$,$(2,2)$,Rubik 的路径是 $(2,2)$,$(2,1)$,$(1,1)$。
对第三个样例的说明:Furik 的最优路径是 $(1,1)$,$(1,2)$,$(1,3)$,$(2,3)$,$(3,3)$,Rubik 的路径是 $(3,3)$,$(3,2)$,$(2,2)$,$(2,1)$,$(1,1)$。如下图所示:

黄色表示 Furik 的路径,粉色表示 Rubik 的路径。
由 ChatGPT 5 翻译