自信且呆滞68


私信TA

用户名:dotcpp0738265

访问量:840

签 名:

等  级
排  名 3550
经  验 1870
参赛次数 0
文章发表 21
年  龄 0
在职情况 学生
学  校 景德镇学院
专  业 网络工程

  自我简介:

我一定会做出最好玩的游戏

TA的其他文章

解题思路:

注意事项:

参考代码:

#include<iostream>
using namespace std;

int arr[100][100] ={0};
int dp[100][100];
int maxi =-1;
void my(int n)
{
for(int i =1;i<=n;i++)
{
for(int j =1;j<=i;j++)
{
cin>>arr[i][j];
}
}
for(int i =1;i<=n;i++)
{
for(int j =1;j<=i;j++)
{
dp[i][j]= max(dp[i-1][j-1],dp[i-1][j])+arr[i][j]; //递推,dp[i][j]只能由dp[i-1][j]或者dp[i-1][j-1]得来
}
}
for(int i =1;i<=n;i++)
{
for(int j =1;j<=i;j++)
{
if(dp[i][j]>maxi)
{
maxi=dp[i][j];
}
}
}
cout<<maxi<<endl;
}

 
int main()
{
int n =0;
cin>>n;
for(int i =0;i<n;i++)
{
int j;
cin>>j;
my(j);
}
return 0;
 }



 

0.0分

0 人评分

  评论区

  • «
  • »