7-3 sdut-C语言实验-王老师去爬山

简介: 7-3 sdut-C语言实验-王老师去爬山

7-3 sdut-C语言实验-王老师去爬山


分数 15


全屏浏览


切换布局


作者 马新娟


单位 山东理工大学


2023年的五一节,王老师在北大的同学来到美丽干净的淄博,吃完烧烤后打算去爬潭溪山。

王老师要去爬的这座山有n个海拔区间。为了清楚描述我们可以从上到下标号1到n。

第i个区间有i个落脚点,每一个落脚点都有一个危险值。

王老师需要在第n个海拔区间挑选一个点向上爬,爬到第1个海拔区间(也就是山顶)。她必须规划一条路径,让危险值之和最小。这样才安全的。

并不是任意两个落脚点之间都可以相互到达。我们这样定义对于第i个(i<n)区间的第j个落脚点,只有第i+1个区间的第j个和第j+1个可以到达。

你能帮助她找到最安全的路么?

输入格式:

输入数据为多组,到文件结束。

对于每一组数据,第一行有一个数,为n 。n≤100;

接下来有n行,第i行有i个数。代表第i个区间i个落脚点的危险值。

所有数据均在int范围内。

输出格式:

对于每组数据,输出一行一个数,为答案。


输入样例:

1. 5
2. 7
3. 3 8
4. 8 1 0
5. 2 7 4 4
6. 4 5 2 6 5

输出样例:

17


代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB


#include <stdio.h>
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int i,j,a[101][101],b[101][101];
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=i;j++)
            {
                scanf("%d",&a[i][j]);
            }
        }
        for(j=1;j<=n;j++)
        {
            b[n][j]=a[n][j];
        }
        for(i=n-1;i>0;i--)
        {
            for(j=1;j<=i;j++)
            {
                if(b[i+1][j]>b[i+1][j+1])
                {
                    b[i][j]=b[i+1][j+1]+a[i][j];
                }
                else{
                    b[i][j]=b[i+1][j]+a[i][j];\\max
                }
            }
        }
        printf("%d\n",b[1][1]);
    }
    return 0;
}
目录
相关文章
|
4月前
7-2 sdut-C语言实验-删数问题(贪心法二)
7-2 sdut-C语言实验-删数问题(贪心法二)
36 2
|
6月前
7-8 sdut-C语言实验-老--质价比
7-8 sdut-C语言实验-老--质价比
34 0
|
4月前
7-5 sdut-C语言实验-最少拦截系统
7-5 sdut-C语言实验-最少拦截系统
32 6
|
4月前
|
人工智能 C语言
7-5 sdut -C语言实验-节约用电
7-5 sdut -C语言实验-节约用电
40 3
|
4月前
|
机器学习/深度学习 安全
7-3 sdut-C语言实验-小鑫去爬山
7-3 sdut-C语言实验-小鑫去爬山
30 2
|
4月前
7-2 sdut-C语言实验-删数问题
7-2 sdut-C语言实验-删数问题
27 2
|
4月前
7-8 sdut-C语言实验-取数字问题
7-8 sdut-C语言实验-取数字问题
28 2
|
4月前
7-10 sdut-C语言实验-走迷宫
7-10 sdut-C语言实验-走迷宫
30 2
|
4月前
7-4 sdut-C语言实验-区间覆盖问题
7-4 sdut-C语言实验-区间覆盖问题
31 2
|
4月前
|
算法
7-2 sdut-C语言实验-数字三角形问题
7-2 sdut-C语言实验-数字三角形问题
25 1