From 81deeb7ac3a8a747e17d5fd44dcba8c816326e04 Mon Sep 17 00:00:00 2001 From: Ren Baoshuo Date: Thu, 11 Nov 2021 14:24:27 +0800 Subject: [PATCH] =?UTF-8?q?1027.=20=E6=96=B9=E6=A0=BC=E5=8F=96=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://www.acwing.com/problem/content/submission/code_detail/8762051/ --- AcWing/1027/1027.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 AcWing/1027/1027.cpp diff --git a/AcWing/1027/1027.cpp b/AcWing/1027/1027.cpp new file mode 100644 index 00000000..29c2b87c --- /dev/null +++ b/AcWing/1027/1027.cpp @@ -0,0 +1,24 @@ +#include + +using namespace std; + +int n, r, c, k, w[15][15], f[15][15][15][15]; + +int main() { + cin >> n; + while (cin >> r >> c >> k, r && c && k) { + w[r][c] = k; + } + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= n; j++) { + for (int k = 1; k <= n; k++) { + for (int l = 1; l <= n; l++) { + f[i][j][k][l] = max({f[i - 1][j][k - 1][l], f[i - 1][j][k][l - 1], f[i][j - 1][k - 1][l], f[i][j - 1][k][l - 1]}) + w[i][j] + w[k][l]; + if (i == k && j == l) f[i][j][k][l] -= w[i][j]; + } + } + } + } + cout << f[n][n][n][n] << endl; + return 0; +}