【递归+dp】杨辉三角

杨辉三角形

http://www.nowcoder.com/questionTerminal/ef7f264886a14fdf8a6ed3ac008a23c8

/* 杨辉三角:https://www.cnblogs.com/kevin-lee123/p/7096090.html */
/* 此类问题采用递归+dp,可以减少子问题重复计算的次数 */
#include <cstdio>
#include <iostream>
using namespace std;

int dp[1000][1000];

int YH(int m,int n){
    if(dp[m][n]!=0)    //dp思想:减少重复计算子问题
        return dp[m][n];
    else{
        if(n==0||m==n){
            dp[m][n]=1;
            return dp[m][n];
        }
        else{
            dp[m][n] = dp[m-1][n-1]+dp[m-1][n];
            return dp[m][n];
        }
    }
}
int main(){
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            dp[i][j]=0;
        }
    }
    for(int i=1;i<n;i++){
        for(int j=0;j<=i;j++){
            if(j!=0)
                cout<<" ";
            cout<<YH(i,j);
        }
        cout<<"\n";
    }
    return 0;
}

全部评论

相关推荐

05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务