POJ 1163

来源:互联网 发布:wap淘宝是什么访客 编辑:程序博客网 时间:2024/06/10 17:57

这个不是很难;

从后面处理,分成若干个问题。

先保证后面的最优就,再慢慢的靠前,就可以求出答案;

#include <iostream>#include <cstring>using namespace std;int n;int arr[101][101];int main(){scanf("%d",&n);int i,j;for(i = 0; i < n; ++i){for(j = 0; j <= i; ++j){scanf("%d",&arr[i][j]);}}for(i = n-2; i >=0; --i){for(j = 0; j <= i; ++j){if( arr[i+1][j] >arr[i+1][j+1] ){arr[i][j] += arr[i+1][j];}else{arr[i][j] += arr[i+1][j+1];}}}printf("%d\n",arr[0][0]);return 0;}