菜鸡落泪
用递归写好简洁,但是超时了😭
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int f_max(vector<vector<int>> &ta, int level, int i, int j, int gold) {
if (i <= level && j <= i) {
gold += ta[i][j];
}
else {
return gold;
}
return max(f_max(ta, level, i + 1, j, gold), f_max(ta, level, i + 1, j + 1, gold));
}
int main(){
int N;
cin>>N;
vector<vector<int>> ta(N,vector<int> (N,0));
for(int i=0;i<N;++i){
for(int j=0;j<=i;++j){
cin>>ta[i][j];
}
}
int res=f_max(ta,N-1,0,0,0);
cout<<res<<endl;
} 