24h購物| | PChome| 登入
2011-06-10 19:48:58| 人氣1,665| 回應0 | 上一篇 | 下一篇

d950. A. 帕斯卡三角形

推薦 0 收藏 0 轉貼0 訂閱站台

http://zerojudge.tw/ShowProblem?problemid=d950

內容 :

  法國科學家帕斯卡誕生於 1623 年,在 13 歲的時候發現帕斯卡三角形:

1
1  1
1  2  1
1  3  3  1
1  4  6  4  1
1  5  10 10 5  1
1  6  15 20 15 6  1

  我們可以發現在帕斯卡三角形中,每一橫列都是左右對稱的,第 n 橫列有 n 個數字,每一個數字等於上一橫列左右兩個數字的和。

  事實上,南宋楊輝曾經在其著作中引用北宋賈憲所發現的相同三角形,時間點大約比巴斯卡早了六百年,所以帕斯卡三角形又稱楊輝三角形或賈憲三角形。

輸入說明 :

第一行有一個整數 T ,代表接下來有幾組測試資料。

  每一組測試資料有兩個整數 M N(1 M 13, 1 N 13)

輸出說明 :

對每筆測試資料輸出帕斯卡三角形第 M 橫列第 N 個數字的值。

範例輸入 :

3
1 1
3 2
6 5

範例輸出 :

1
2
5

提示 :

出處 :

2010 NPSC 國中組決賽 (管理:pcshic)

作法 : 模擬
用遞迴建表,直接查詢即可

/**********************************************************************************/
/*  Problem: d950 "A. 帕斯卡三角形" from 2010 NPSC 國中組決賽          */
/*  Language: C                                                                   */
/*  Result: AC (6ms, 240KB) on ZeroJudge                                          */
/*  Author: morris1028 at 2011-06-04 22:36:24                                     */
/**********************************************************************************/


#include<stdio.h>
main() {
    int DP[14][14] = {}, a, b, t;
    DP[1][1] = 1;
    for(a = 2; a <= 13; a++)
        for(b = 1; b <= a; b++)
            DP[a][b] = DP[a-1][b] + DP[a-1][b-1];
    scanf("%d", &t);
    while(t--) {
        scanf("%d %d", &a, &b);
        printf("%d\n", DP[a][b]);
    }
    return 0;
}

台長: Morris
人氣(1,665) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: NPSC |
此分類下一篇:d951. B. 好吃的麵包
此分類上一篇:d954. E. 得分

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文