c20191623 @ 2017-08-17 16:08:14
#include<iostream>
using namespace std;
int x[1000][1000];
int res[1000][1000];
int max(int a,int b)
{
return ((a>b)?a:b);
}
int maxsum(int n)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<i+1;j++)
cin>>x[i][j];
for(int j=i+1;j<n;j++)
x[i][j]=0;
}
for(int j=0;j<n;j++)
res[n-1][j]=x[n-1][j];
for(int i=n;i>=0;--i)
{
for(int j=0;j<i;++j)
{
res[i-1][j]=max(res[i][j]+x[i-1][j],res[i][j+1]+x[i-1][j]);
}
}
return res[0][0];
}
int main()
{
int n;
cin>>n;
cout<<maxsum(n)<<endl;
}
最后一个点运行错误 求大佬们看看QAQ
by Mingoal @ 2017-10-08 11:19:46
@c20191623
你的码风。。。
还有,你那个点不是答案错误吗?
你可以尝试着把x和res这两个数组两个维都开大1,这样就能过了。