解题思路:
在二维数组中a[i][j]+a[i+1][j]<a[i+1][j+1]+a[i][j],取大的,从倒数第二行开始与后一行相加,往前推。
注意事项:
参考代码:
#include<iostream> #include<cstring> using namespace std; int main() { int t; cin>>t; while(t--) { int a[100][100],n; cin>>n; memset(a,0,sizeof(a)); for(int i=0;i<n;i++) { for(int j=0;j<i+1;j++) { cin>>a[i][j]; } } for(int i=n-2;i>=0;i--) { for(int j=i;j>=0;j--) { if(a[i][j]+a[i+1][j]<a[i+1][j+1]+a[i][j]) { a[i][j]=a[i+1][j+1]+a[i][j]; } else { a[i][j]=a[i][j]+a[i+1][j]; } } } cout<<a[0][0]<<endl; // for(int i=0;i<n;i++)检查是否正确 // { // for(int j=0;j<i+1;j++) // { // cout<<a[i][j]<<" "; // } // cout<<endl; // } } return 0; }
0.0分
1 人评分
C二级辅导-进制转换 (C语言代码)浏览:615 |
不容易系列 (C语言代码)浏览:668 |
C语言训练-大、小写问题 (C语言代码)浏览:613 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:880 |
1908题解浏览:640 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:643 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:785 |
1231题解(注意理解“输入多个测试实例”)浏览:788 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:560 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:610 |