zoukankan      html  css  js  c++  java
  • 1163The Triangle

    之所以会做这道题目是这两天都在看dp,到网上搜到一些关于dp的题目。

    但是我第一次看这道题时,脑海里第一个想法就是我被坑了,这明明是搜索的题目,所以也按照自己的想法去做,结果超时了,这个可以理解

    到网上寻找了一些答案,神了,真的可以用dp来做。

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int dp[101][101];
    int main()
    {  int n;
        cin>>n;
        int maxn=0;
        for(int i=1;i<=n;++i)
            for(int j=1;j<=i;++j)
                {cin>>dp[i][j];
                   dp[i][j]+=max(dp[i-1][j-1],dp[i-1][j]);
                 }
        cout<<*max_element(dp[n],dp[n]+n)<<endl;
        return 0;
    }

    顺便也贴上我的代码,不过超时了

    #include "iostream"
    using namespace std;
    
    int best=0,n,table[300][300];
    int total;
    
    void count(int x,int y){
      if(x>=n){
         if(best<total)best=total;
         return;
      }
      total+=table[x+1][y-1];
      count(x+1,y-1);
      total=total-table[x+1][y-1]+table[x+1][y+1];
      count(x+1,y+1);
      total=total-table[x+1][y+1];
    }
    
    int main(){
      int i,temx,temy,s,j,k;
      cin>>n;
      s=n;
      temy=1;
      for(i=1;i<=n;i++,s--){
        for(j=s,k=0;k<i;k++,j=j+2){
          cin>>table[i][j];
        }
      }
      total=table[1][n];
      count(1,n);
      cout<<best<<endl;
    }
  • 相关阅读:
    codeforces round#600
    第三章:数据操作
    1143 Lowest Common Ancestor (30 分)
    游标
    1151 LCA in a Binary Tree (30 分)
    jQuery之setInterval()定时器
    C程序第四次作业
    C程序第三次作业
    C程序第二次作业
    C程序第一次作业
  • 原文地址:https://www.cnblogs.com/dowson/p/3255350.html
Copyright © 2011-2022 走看看