文章

18

粉丝

0

获赞

85

访问

5.4k

头像
杨辉三角形 - 西北工业大学 题解:依旧用二维数组存储
P1392 西北工业大学
发布于2026年3月21日 20:07
阅读数 234

#include<vector>
#include<cstring>
#include<algorithm>
#include<iostream>

using namespace std;

//递归写杨辉三角
vector<vector<int>> result;//全局变量,放在堆上,防止n过大栈空间不够

void digui(int n,vector<vector<int>> &result,int i){//i表示当前在第几行
    if(i==n) return;

    vector<int> row(n,0);//当前行初始化
    for(int j=0;j<=i;j++){
        if(j==0||j==i) row[j]=1;
        else row[j]=result[i-1][j-1]+result[i-1][j];
    }
    result.push_back(row);
    digui(n,result,i+1);//递归,行数加一
}

int main(){
    int n;
    while(cin>>n){
        result.clear();//每回合先清零
        digui(n,result,0);//不妨从第0行开始
        for(int i=1;i<n;i++){//打印
            for(int j=0;j<=i;j++){
            &n...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发