Hzu挑战自我


私信TA

用户名:gxhzxyjsj

访问量:98836

签 名:

2024终究会过去,期待2025!

等  级
排  名 8
经  验 27865
参赛次数 67
文章发表 157
年  龄 0
在职情况 教师
学  校 贺州学院
专  业 软件工程

  自我简介:

弱鸡一个,继续努力!

解题思路:数塔问题。从倒数第二行开始求当前行对应位置与下一行对应位置的两个数最大值之和,一直到第一行,则第一个就是所求数据。


参考代码:

#include <stdio.h>
#include <math.h>
int max(int x,int y)
{
	if(x>y) return x;
	else return y;
}
int main()
{
	int a[100][100]={0};
	int i,j,n,count,k;
	scanf("%d",&count);//测试次数 
	for(k=1;k<=count;k++)
	{
		scanf("%d",&n); //行数
		for(i=0;i<n;i++)
			for(j=0;j<=i;j++)
				scanf("%d",&a[i][j]);		
		for(i=n-2;i>=0;i--)
			for(j=0;j<=i;j++)
			 a[i][j]+=max(a[i+1][j],a[i+1][j+1]);
		printf("%d\n",a[0][0]);
		
	}
    return 0;
}


 

0.0分

2 人评分

  评论区

  • «
  • »