HDU2032(杨辉三角预处理)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2032


解题思路:

首先与处理出杨辉三角,然后按格式要求输出即可。


完整代码:

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

#pragma comment(linker, "/STACK:102400000,102400000")

typedef long long LL;
typedef double DB;
typedef unsigned uint;
typedef unsigned long long uLL;

/** Constant List .. **/ //{

const int MOD = int(1e9)+7;
const int INF = 0x3f3f3f3f;
const LL INFF = 0x3f3f3f3f3f3f3f3fLL;
const DB EPS = 1e-9;
const DB OO = 1e20;
const DB PI = acos(-1.0); //M_PI;

int g[31][31];

void init()
{
    for(int i = 0 ; i < 31 ; i ++)
    {
        for(int j = 0 ; j < 31 ; j ++)
        {
            g[i][j] = 0;
            if(j == 1)
                g[i][j] = 1;
            if(i == j)
                g[i][j] = 1;

        }
    }

}

void creat()
{
    for(int i = 1 ; i < 31 ; i ++)
    {
        for(int j = 1 ; j < 31 ; j ++)
        {
            if(i-1 > 0 && j - 1 > 0)
                g[i][j] = g[i-1][j] + g[i-1][j-1];
        }
    }
}


int main()
{
    #ifdef DoubleQ
    freopen("in.txt","r",stdin);
    #endif
    int n;
    init();
    creat();
    while(cin >> n)
    {
        for(int i = 1 ; i <= n ; i ++)
        {
            for(int j = 1 ; j < i ; j ++)
            {
                cout << g[i][j] << " ";
            }
            cout << g[i][i] << endl;
        }
        cout << endl;
    }
}


你可能感兴趣的:(HDU)