解题思路:
虽然是ioi的一道题
但特别简单
注意事项:
使用动态规划
从下往上遍历
核心代码:
dp[i][j] = max(dp[i+1][j],dp[i+1][j+1])+a[i][j]; //dp是动规数组,a是输入的数据
参考代码:
#include <bits/stdc++.h> using namespace std; int a[1001][1001]; int dp[1001][1001]; int main() { int t; cin >> t; int n; while(t--) { cin >> n; memset(a,0,sizeof(a)); memset(dp,0,sizeof(dp)); for(int i = 1; i a[i][j]; for(int i = 1; i = 1; i--) for(int j = 1; j <= i; j++) dp[i][j] = max(dp[i+1][j],dp[i+1][j+1])+a[i][j]; cout << dp[1][1] << endl; } return 0; }
0.0分
1 人评分
C语言训练-最大数问题 (C语言代码).........关于-1浏览:746 |
兰顿蚂蚁 (C++代码)浏览:1091 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1245 |
Wu-求圆的面积 (C++代码)浏览:1891 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:660 |
数字游戏 (C++代码)浏览:1184 |
输入输出格式练习 (C语言代码)浏览:849 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:672 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:517 |
A+B for Input-Output Practice (I) (C语言代码)浏览:431 |