HDU 2032楊輝三角(dp)

2465 ワード

Descriptionは中学校の時に習った楊輝三角を覚えていますか?具体的な定義はここでは説明しませんが、1 1 1 1 1 2 1 3 1 4 4 4 1 1 5 10 5 1 Input入力データには複数のテストインスタンスが含まれています.各テストインスタンスの入力には正の整数n(1<=n<=30)が1つしか含まれていません.出力する楊輝三角の層数Outputが各入力に対応していることを示しています.対応する層数の楊輝三角を出力し、各層の整数の間にスペースで隔ててください.各楊輝三角の後ろに空行Sample Input 2 3 Sample Output 1 1 1を追加
1 1 1 1 2 Solutionベースdpは、i行目j番目の数の大きさをdp[i][j]で表し、楊輝三角特性から明らかに転移方程式dp[i][j]dp[i-1][j-1]+dp[i-1][j]Codeがある
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int dp[33][33];
        memset(dp,0,sizeof(dp));
        dp[1][1]=1;
        for(int i=2;i<=n;i++)
            for(int j=1;j<=i;j++)
                dp[i][j]=dp[i-1][j-1]+dp[i-1][j];
        for(int i=1;i<=n;i++)
            for(int j=1;j<=i;j++)
                printf("%d%c",dp[i][j],j==i?'
'
:' '); printf("
"
); } return 0; }