CF1765K Torus Path

题目描述

给定一个 $n$ 行 $n$ 列的方格,每个格子里写有一个非负整数。现在有一个芯片最初放在左上角的格子(坐标为 $(1, 1)$)。你需要将芯片移动到右下角的格子(坐标为 $(n, n)$)。 每一步,你可以将芯片移动到相邻的格子,但有如下规则: 1. 你只能向右或向下移动。也就是说,如果当前格子是 $(x, y)$,你可以移动到 $(x, y + 1)$ 或 $(x + 1, y)$。有两种特殊情况: - 如果芯片在最后一列(格子 $(x, n)$)并向右移动,你会传送到该行的第一列(即格子 $(x, 1)$); - 如果芯片在最后一行(格子 $(n, y)$)并向下移动,你会传送到该列的第一行(即格子 $(1, y)$)。 2. 你不能重复访问同一个格子。起始格子从一开始就算作已访问(因此不能再次进入),到达终点格子后不能再离开。 你的总得分为你访问过的所有格子中的数字之和。请问你能获得的最大得分是多少?

输入格式

第一行包含一个整数 $n$($2 \le n \le 200$),表示方格的行数和列数。 接下来的 $n$ 行描述了每一行的格子。第 $i$ 行包含 $n$ 个整数 $a_{i, 1}, a_{i, 2}, \dots, a_{i, n}$($0 \le a_{i, j} \le 10^9$),其中 $a_{i, j}$ 表示格子 $(i, j)$ 中写的数字。

输出格式

输出一个整数,表示你能获得的最大得分。

说明/提示

由 ChatGPT 4.1 翻译