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

╄→尐↘猪︶ㄣ 提交于 2019-11-30 05:46:00

 

题目链接

 

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");
        }
    }

}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!