标签:read 解题思路 cin std top 最大和 完成 cout where
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 60993 Accepted: 36560
Description
7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (Figure 1)
Input
Output
5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5
Sample Output
30
解题思路:
直接读入三角形,从最后一行开始自底向上计算最大和,直至计算完成,输出顶端最大和即可。算是动归非常基础的入门题了。
#include<iostream> #include<algorithm> using namespace std; int V[101][101]; int main() { int n; cin >> n; for(int i = 0; i < n; i++) { for (int j = 0; j < (i+1); j++) { cin >> V[i][j]; } } for (int i = n - 1; i > 0; i--) { for (int k = 0; k < i; k++) //自底向上更新 { V[i - 1][k] += max(V[i][k], V[i][k + 1]); } } cout << V[0][0]; return 0; }
标签:read 解题思路 cin std top 最大和 完成 cout where
原文地址:https://www.cnblogs.com/yun-an/p/10960512.html