解题思路:
虽然是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 人评分