zoukankan      html  css  js  c++  java
  • 数字三角形

    数字三角形必须经过某一个点,使之走的路程和最大

    输入格式:

    第1行n,表示n行 (n<=25), 第2到n+1行为每个的权值,第n+2行为两个数x,y表示必须经过的点

    输出格式:

    输出最大值

    样例1

    输入:

    2
    1
    1 1
    1 1

    输出:

    2
    //11 月 23 日 2015
    #include <stdio.h>
    int num[26][26];//存储数字三角形的权值                             
    int route[26][2];//记录临时最优路径                              
    int n;
    int s1,s2;//以特殊点分为上半段和下半段,分别求其最大值
    int f;
    int x,y;
    void UpBacktrack(int i,int j)
    {
        int k;
        if(i == 0)
        {
            f = 0;
            for(k=1;k<x;k++)
                f += num[route[k][0]][route[k][1]];
            if(f > s1)
                s1 = f;
            return;
        }
        else{
            //记录路径
            route[i][0] = i;
            route[i][1] = j;
        }
        if(j == 1)
            UpBacktrack(i-1,j);
        else if(j == i){
            UpBacktrack(i-1,j-1);
        }
        else{
            for(k=0;k<=1;k++)//2叉
                UpBacktrack(i-1,j-k);
        }
    }
    void DownBacktrack(int i,int j)
    {
        int k;
        if(i > n)
        {
            f = 0;
            for(k=x+1;k<=n;k++)
                f += num[route[k][0]][route[k][1]];
            if(f > s2)
                s2 = f;
            return;
        }
        else{
            //记录路径
            route[i][0] = i;
            route[i][1] = j;
        }
        for(k=0;k<=1;k++)//2叉
            DownBacktrack(i+1,j+k);
    }
    int main()
    {
        int i,j;
        scanf("%d",&n);
        for(i=1;i<=n;i++)
            for(j=1;j<=i;j++)
                scanf("%d",&num[i][j]);
        scanf("%d%d",&x,&y);
        //从特定点开始向上和向下回溯,保证两次回溯都得到最大路径权值
        UpBacktrack(x,y);
        DownBacktrack(x,y);
        printf("%d
    ",s1+s2+num[x][y]);//加上必须经过的点的权值
        return 0;
    }
  • 相关阅读:
    13-7实现旅拍卡片布局-2
    13-6实现旅拍卡片布局-1
    13-5实现旅拍瀑布流布局-2
    13-4实现旅拍瀑布流布局-1
    13-3使用TabBar+TabBarView 实现旅拍可滑动切换多Tab
    13-2根据接口实现dao层
    13-1
    12-12本章小结
    12-11【锦上添花】Flutter AI只能语音搜索功能实现
    12-10【收货果实】Futter AI只能语音界面开发-2
  • 原文地址:https://www.cnblogs.com/emptyCoder/p/5090270.html
Copyright © 2011-2022 走看看