Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
351404 | 黄浙峰老师 | 【C6-5】数塔的行走路径 | C++ | 通过 | 100 | 3 MS | 260 KB | 663 | 2025-09-21 10:39:32 |
#include<bits/stdc++.h> using namespace std; int a[110][110]; int r[110][3]; int main(){ int n; 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]=a[i][j]+max(a[i+1][j],a[i+1][j+1]); } } int k=1; r[1][1]=1; r[1][2]=1; int i=1, j=1; while(i<n){ k++; if(a[i+1][j]>a[i+1][j+1]){ r[k][1]=i+1; r[k][2]=j; i++; }else{ r[k][1]=i+1; r[k][2]=j+1; i++; j++; } } for(int i=k; i>1; i--){ cout<<r[i][1]<<','<<r[i][2]<<"->"; } cout<<r[1][1]<<','<<r[1][2]<<endl; cout<<a[1][1]; return 0; }