这样还错我也是醉了!!神犇!求助!

我自己写的,看了题解发现相似==但真的不是抄袭的!
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int a[1001][1001],f[1001][1001];
int main()
{
memset(f,0x7f,sizeof(f));
int n,i,j,k,l,m;
cin>>n;
for(i=1;i<=n;i++){
for(j=1;j<=i;j++)
cin>>a[i][j];
}
f[1][1]=a[1][1];
for(i=2;i<=n;i++){
for(j=1;j<=i;j++){
if(j==1) f[i][j]=min(f[i-1][1],f[i-1][i-1])+a[i][1];
if(j==i) f[i][j]=min(f[i-1][1],f[i-1][i-1])+a[i][i];
else f[i][j]=min(f[i-1][j],f[i-1][j-1])+a[i][j];
}
for(k=1;k<=2;k++){
for(l=1;l<=i;l++){
if(l==1) f[i][1]=min(f[i][1],f[i][i]+a[i][1]);
else f[i][l]=min(f[i][l],f[i][l-1]+a[i][l]);
}
for(l=i;l>=1;l--){
if(l==i) f[i][i]=min(f[i][i],f[i][1]+a[i][i]);
else f[i][l]=min(f[i][l],f[i][l+1]+a[i][l]);
}
}
}
cout<<f[n][1]<<endl;
return 0;
}

3 条评论

  • @ 2016-08-20 13:08:02

    我发现了!!!一个小问题!!!自己思考思考!!!

  • @ 2015-08-18 11:06:28

    求助!求助!不明白样例我的输出居然是10

  • @ 2015-08-18 10:56:00

    求助求助

  • 1

信息

ID
1006
难度
6
分类
动态规划 点击显示
标签
递交数
9031
已通过
2089
通过率
23%
被复制
28
上传者