社区讨论
数据太水
P1004[NOIP 2000 提高组] 方格取数参与者 4已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @loc9e9bj
- 此快照首次捕获于
- 2023/10/30 10:06 2 年前
- 此快照最后确认于
- 2023/11/04 21:53 2 年前
CPP
#include <iostream>
#include <cstdio>
using namespace std;
int n;
int a[15][15];
int f[15][15];
int main() {
scanf("%d",&n);
while (true) {
int x,y,w;
scanf("%d%d%d",&x,&y,&w);
if (x == 0) break;
a[x][y] = w;
}
for (int step = 2; step < 2 * n; step++) {
int l = max(1,step - n);
int r = min(n,step);
for (int i = r; i >= l; i--) {
for (int j = r; j >= i + 1; j--) {
int v = max(max(f[i][j],f[i][j - 1]),
max(f[i - 1][j],f[i - 1][j - 1]));
f[i][j] = v + a[i][step - i] + a[j][step - j];
}
}
}
int ans = f[n - 1][n] + a[n][n];
printf("%d",ans);
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...