zoukankan      html  css  js  c++  java
  • 回档|数字三角形3,4

    描述

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

    输入格式

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

    输出格式
    一个值,经过x,y的最大路

    测试样例1

    输入
    2
    1
    1 1
    1 1
    输出
    2

    备注
    各个测试点1s

    题目分析:
        这道题我做的很暴力,直接把第x行上除了y的点都赋值成-的极大值,然后就过了……
       (3和4的区别是3要求过一个定点n/2,n/2)

    源代码:

    #include<iostream>
    using namespace std;
    int map[26][26],f[26][26];
    int max(int a,int b)
    {
     if (a>b) return a;
       else return b;
    }
    int main()
    {
     int n;
     cin >> n;
     for (int i=1; i<=n; i++)
       for (int j=1; j<=i; j++)
         cin >> map[i][j];
     int x,y;
     cin >> x >> y;
     for (int i=1; i<=x; i++) if (i != y) map[x][i]=-10000007;
     for (int i=1; i<=n; i++)
       for (int j=1; j<=i; j++)
         f[i][j]=max(f[i-1][j],f[i-1][j-1])+map[i][j];
     int ans=0;
        for (int i=1; i<=n; i++) if (f[n][i]>ans) ans=f[n][i];
     cout << ans;
     return 0;
    }
  • 相关阅读:
    简单工厂模式
    原型模式
    特性Attribute
    MVC_Route层层深入
    异步Async
    sql-connectionStrings
    观察者模式(利用委托)
    SqlServer_存储过程
    c语言----程序记录
    c语言基础笔记
  • 原文地址:https://www.cnblogs.com/Shymuel/p/4393562.html
Copyright © 2011-2022 走看看