向量解法
2025-01-23 11:08:11
发布于:广东
11阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
struct ve{
vector<int>s;
};
struct ver{
vector<int>s;
};
int main(){
int n,tmp;
cin >> n;
ve nums[n];
ver num1[n];
for(int i = 0;i<n;i++){
for(int j = 0;j<i+1;j++){
cin >> tmp;
nums[i].s.push_back(tmp);
num1[i].s.push_back(tmp);
}
}
for(int i = n-2;i>=0;i--){
//cout<<i<<endl;
for(int j = 0;j<i+1;j++){
//cout<<nums[i].s[j]<<' '<<nums[i+1].s[j]<<' '<<nums[i+1].s[j+1]<<endl;
nums[i].s[j] += max(nums[i+1].s[j],nums[i+1].s[j+1]);
}
}
cout<<nums[0].s[0]<<endl<<num1[0].s[0]<<' ';
int q,l=0,r=0;
q = 0;
while(q<n-1){
if(nums[l+1].s[r]>nums[l+1].s[r+1]){
l+=1;
}else{
l+=1;
r+=1;
}
cout<<num1[l].s[r]<<' ';
q++;
}
}
这里空空如也
有帮助,赞一个