就是这样一个数塔
输入n,数塔有n行,第i行有i个数字,如
7
3 7
8 1 0
2 7 4 4
4 5 2 6 5
找出一条经过的数字和最长的路径的数字和。。。
比如吧,
1
2 3
可以走1-2 可以走1-3
走1-2得3 走1-3得4
所以最终输出为4
以下为代码
1 #include<stdio.h> 2 int main() 3 { 4 int n,i,j; 5 int sco[100][100]; 6 scanf("%d",&n); 7 for(i=0;i<n;i++) //n行循环n-1次 8 for(j=0;j<=i;j++) //j也同样n-1 9 scanf("%d",&sco[i][j]); 10 for(i=n-2;i>=0;i--) //从倒数第二行开始循环 11 for(j=0;j<=i;j++) //个数等于行数 12 { 13 sco[i+1][j]>sco[i+1][j+1]?sco[i][j]+=sco[i+1][j]:sco[i][j]+=sco[i+1][j+1]; 14 } 15 printf("%d",sco[0][0]); 16 return 0; 17 }
时间: 2024-11-08 23:49:22