E. Generalized Pascal's Triangle(National Contest for Private Universities (NCPU), 2019)

题目链接

 

INPUT
2
3
4
OUTPUT
1
2 2
1 2 1
1
3 3
3 6 3
1 3 3 1
1
4 4
6 12 6
4 12 12 4
1 4 6 4 1

 题意:输出第n个图所对应的矩阵。

思路:找规律。每一个结点都是由上一个图中三个结点的相加而来。直接打表求解即可。

#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
using namespace std;
#define MAX 1e9+7
#define inf 0x3f3f3f
const int maxn=1e4+10;
typedef long long ll;
int s[25][25][25];
int main()
{
    s[0][1][1]=1;
    for(int i=1; i<=20; i++)
    {
        for(int j=1; j<=i+1; j++)
        {
            for(int k=1; k<=j; k++)
            {
                s[i][j][k] = s[i-1][j-1][k-1] + s[i-1][j-1][k] + s[i-1][j][k];
            }
        }
    }

    int n;
    while(scanf("%d",&n)!=EOF)
    {
        for(int i=1; i<=n+1; i++)
        {
            for(int j=1; j<=i; j++)
            {
                if(j != i)
                    printf("%d ",s[n][i][j]);
                else
                    printf("%d",s[n][i][j]);
            }
            printf("\n");
        }
    }

}

发布了350 篇原创文章 · 获赞 715 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/ZCY19990813/article/details/101110548
今日推荐