解题思路:
注意事项:
参考代码:
#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 人评分
C语言训练-排序问题<2> (C++代码)(sort函数)浏览:1722 |
C语言训练-自守数问题 (C语言代码) long long浏览:1107 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:914 |
【出圈】 (C语言代码)浏览:590 |
关于C语言变量位置的问题浏览:294 |
1011题解浏览:819 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:585 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:537 |
演讲大赛评分 (C语言代码)浏览:1697 |
Hello, world! (C语言代码)浏览:916 |