您的位置:首页 > 其它

USACO Section 1.5: Number Triangles

2014-04-15 08:52 369 查看
/*
ID: leetcod3
PROG: numtri
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <string>
#include <map>
#include <vector>
#include <set>
#include <algorithm>
#include <queue>
#include <cmath>
#include <list>
#include <cstring>
#include <cstdlib>
#include <limits>
#include <stack>

using namespace std;

ofstream fout ("numtri.out");
ifstream fin ("numtri.in");

int main()
{
int R;
fin >> R;
vector<vector<int> > num;
for (int i = 1; i <= R; i++) {
vector<int> input(i);
for (int j = 0; j < i; j++) fin >> input[j];
num.push_back(input);
}
for (int i = 1; i < R; i++) {
for (int j = 0; j < num[i].size(); j++) {
if (j == 0) num[i][j] += num[i-1][j];
else if (j == num[i].size()-1) num[i][j] += num[i-1][num[i-1].size()-1];
else num[i][j] += max(num[i-1][j-1], num[i-1][j]);
}
}
int ans = 0;
for (int i = 0; i < R; i++) ans = max(ans, num[R-1][i]);
fout << ans << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: