1 条题解
-
0
#include <bits/stdc++.h> using namespace std; int n,a[110][110],x=1,y=1;//n<=100 a数组(数塔)110即可 int r[110][3]={{0,1,1}},k=1; int main(){ cin>>n; for (int i=1;i<=n;i++){ for (int j=1;j<=i;j++)cin>>a[i][j]; } for (int i=n-1;i>=1;i--){ for (int j=1;j<=i;j++)a[i][j]+=max(a[i+1][j],a[i+1][j+1]); } while(x<n){ k++; if(a[x+1][y]>a[x+1][y+1]){ r[k][1]=x+1; r[k][2]=y; x++; }else{ r[k][1]=x+1; r[k][2]=y+1; x++; y++; } } for (int i=k;i>1;i--)cout<<r[i][1]<<','<<r[i][2]<<"->"; cout<<"1,1"<<endl; cout<<a[1][1]; return 0; }
- 1
信息
- ID
- 407
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 5
- 标签
- 递交数
- 20
- 已通过
- 15
- 上传者