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

    1.递推计算
    #include<iostream>
    #include<cstdio>
    using namespace std;
    int mx(int a,int b)
    {
        if(a>b)
            return a;
        else
            return b;
    }
    int main ()
    {
        int n;
        int a[200][200];
         while(~scanf("%d",&n))
         {
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<=i;j++)
                {
                    cin>>a[i][j];
                }
            }
            
            for(int i=n-1;i>0;i--)
            {
                for(int j=n-1;j>0;j--)
                {
                    a[i-1][j-1]=a[i-1][j-1]+mx(a[i][j-1],a[i][j]);
                }
            }
            
            cout<<a[0][0];
         }
         return 0;
    }

    提交时数组开小了。提示Runtime Error at Test 1

    2.记忆化搜索

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int a[200][200],d[200][200],n;
    int ma(int a,int b)
    {
        if(a>b)
            return a;
        else
            return b;
    }
    int dd(int i,int j)
    {
        if(d[i][j]>=0)
            return d[i][j];
        else if(n==i)
            return d[i][j]=a[i][j];
        else
            return d[i][j]=a[i][j]+ma(dd(i+1,j),dd(i+1,j+1));
    }
    int main ()
    {
        while(~scanf("%d",&n))
        {
            memset(d,-1,sizeof(d));
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<=i;j++)
                {
                    cin>>a[i][j];
                }
            }
            cout<<dd(0,0);
        }
        return 0;
    }
    方法不错


    
  • 相关阅读:
    js自动小轮播
    js字符串
    工资
    可是姑娘,你为什么要编程呢?
    程序猿媳妇儿注意事项
    js勾选时显示相应内容
    js点击显示隐藏
    js选项卡
    js数组
    js旋转V字俄罗斯方块
  • 原文地址:https://www.cnblogs.com/peterleee/p/9373791.html
Copyright © 2011-2022 走看看