社区讨论
#求助!看了题解自己打的,全TLE了。
P1004[NOIP 2000 提高组] 方格取数参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lo2cmlm4
- 此快照首次捕获于
- 2023/10/23 11:39 2 年前
- 此快照最后确认于
- 2023/11/03 11:48 2 年前
CPP
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int f[10][10][10][10]={0},map[10][10]={0};
int n,i=1,j=1,k,l,temp1,temp2;
int main()
{
scanf("%d",&n);
while(i!=0||j!=0||f[i][j]!=0)
{
scanf("%d %d",&i,&j);
scanf("%d",&map[i][j]);
}
for(i=1;i<=9;i++)
for(j=1;j<=9;j++)
for(k=1;k<=9;k++)
for(l=1;l<=9;l++)
{
temp1=max(f[i-1][j][k-1][l],f[i][j-1][k][l-1]);
temp2=max(f[i-1][j][k][l-1],f[i][j-1][k-1][l]);
f[i][j][k][l]+=max(temp1,temp2)+map[i][j];
if(i!=k&&j!=l)
f[i][j][k][l]+=map[k][l];
}
printf("%d",f[n][n][n][n]);
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...