#include<iostream>
using namespace std;
int s[12][12]={0},f[30][11][11]={0},temp,n;
void init(){
int x,y;
cin>>n;
while(cin>>x>>y>>temp) {
if(x)s[x][y]=temp;
else break;
}
}
int ty(int step,int x)
{
return (step-x+1);
}
int max(int a,int b,int c,int d){
int x,y;
x=a>b?a:b;
y=c>d?c:d;
return x>y?x:y;
}
int main(){
int i,j,k,maxn;
init();
for(i=1;i<=2*n-1;i++)
for(j=0;j<=n;j++)
for(k=0;k<=n;k++){
if (j>i) continue;
if (k>i) continue;
if(j==k) f[i][j][k]=max(f[i-1][j-1][k],f[i-1][j][k-1],f[i-1][j][k],f[i-1][j-1][k-1])+s[j][ty(i,j)];
else f[i][j][k]=max(f[i-1][j-1][k],f[i-1][j][k-1],f[i-1][j][k],f[i-1][j-1][k-1])+s[j][ty(i,j)]+s[k][ty(i,k)];
}
cout<<f[2*n-1][n][n];
return 0;
}
系统提示
测试结果1: 输出过长|用户输出数据超过标准输出两倍[标准输出2位|选手输出7位]
测试结果2: 输出过长|用户输出数据超过标准输出两倍[标准输出2位|选手输出7位]
测试结果3: 输出过长|用户输出数据超过标准输出两倍[标准输出2位|选手输出7位]
测试结果4: 输出过长|用户输出数据超过标准输出两倍[标准输出2位|选手输出7位]
测试结果5: 输出过长|用户输出数据超过标准输出两倍[标准输出2位|选手输出7位]
但我哪来的7位= =
自己电脑明明是两位= =