POJ 3176 解题报告

来源:互联网 发布:淘宝宝登陆 编辑:程序博客网 时间:2024/05/27 16:40

这道题是简单的动态规划题。和1163一样。

thestoryofsnow3176Accepted1144K63MSC++923B

/* ID: thestor1 LANG: C++ TASK: poj3176 */#include <iostream>#include <fstream>#include <cmath>#include <cstdio>#include <cstring>#include <limits>#include <string>#include <vector>#include <list>#include <set>#include <map>#include <queue>#include <stack>#include <algorithm>#include <cassert>using namespace std;int main(){int N;scanf("%d", &N);vector<vector<int> > triangle(N, vector<int>(N, 0));for (int i = 0; i < N; ++i){for (int j = 0; j <= i; ++j){scanf("%d", &triangle[i][j]);}}vector<vector<int> > maxsum(N, vector<int>(N, 0));for (int i = 0; i < N; ++i){maxsum[N - 1][i] = triangle[N - 1][i];}for (int i = N - 2; i >= 0; --i){for (int j = 0; j <= i; ++j){maxsum[i][j] = max(maxsum[i + 1][j], maxsum[i + 1][j + 1]) + triangle[i][j];}}printf("%d\n", maxsum[0][0]);return 0;}


0 0
原创粉丝点击