結果

問題 No.129 お年玉(2)
ユーザー fmhrfmhr
提出日時 2015-04-23 07:20:42
言語 Go
(1.22.1)
結果
MLE  
実行時間 -
コード長 1,126 bytes
コンパイル時間 12,239 ms
コンパイル使用メモリ 243,000 KB
実行使用メモリ 804,872 KB
最終ジャッジ日時 2024-10-10 03:53:06
合計ジャッジ時間 47,828 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 74 ms
42,964 KB
testcase_01 MLE -
testcase_02 AC 4 ms
6,820 KB
testcase_03 AC 2 ms
6,816 KB
testcase_04 AC 2 ms
6,816 KB
testcase_05 AC 619 ms
351,984 KB
testcase_06 MLE -
testcase_07 MLE -
testcase_08 AC 816 ms
462,932 KB
testcase_09 MLE -
testcase_10 MLE -
testcase_11 AC 783 ms
453,556 KB
testcase_12 MLE -
testcase_13 MLE -
testcase_14 MLE -
testcase_15 AC 856 ms
472,056 KB
testcase_16 MLE -
testcase_17 MLE -
testcase_18 MLE -
testcase_19 MLE -
testcase_20 MLE -
testcase_21 MLE -
testcase_22 AC 826 ms
465,240 KB
testcase_23 MLE -
testcase_24 MLE -
testcase_25 AC 792 ms
454,704 KB
testcase_26 AC 807 ms
460,104 KB
testcase_27 AC 784 ms
453,300 KB
testcase_28 MLE -
testcase_29 AC 2 ms
6,820 KB
testcase_30 AC 2 ms
6,816 KB
testcase_31 AC 2 ms
6,820 KB
testcase_32 AC 1 ms
6,820 KB
testcase_33 AC 11 ms
7,676 KB
testcase_34 AC 4 ms
6,820 KB
testcase_35 AC 9 ms
7,680 KB
testcase_36 AC 12 ms
7,676 KB
testcase_37 AC 14 ms
9,844 KB
testcase_38 AC 157 ms
90,144 KB
testcase_39 AC 252 ms
133,704 KB
testcase_40 AC 721 ms
393,272 KB
testcase_41 AC 444 ms
263,076 KB
testcase_42 AC 184 ms
100,508 KB
testcase_43 AC 180 ms
100,496 KB
testcase_44 MLE -
testcase_45 AC 100 ms
55,256 KB
testcase_46 AC 287 ms
176,784 KB
testcase_47 MLE -
testcase_48 AC 865 ms
475,140 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import (
    "fmt"
)


func pascal( n, m , mod int64) int64 {
    n += 1
    var p [10001][10001]int64
    p[0][0] = 1
    var i, j int64
    for i=1; i<n; i++ {
        for j=0; j<n; j++ {
            if j == 0 {
                p[i][j] = 1
            } else {
                p[i][j] = (p[i-1][j-1]+p[i-1][j])%mod
            }
        }
    }
    return p[n-1][m]
}

func pascal_s( n, m , mod int64) int64 {
    n += 1
    p := make([][]int64, n)
    for q:=0; q<int(n); q++ {
        p[q] = make([]int64, int(n))
    }

    p[0][0] = 1
    var i, j int64
    for i=1; i<n; i++ {
        for j=0; j<n; j++ {
            if j == 0 {
                p[i][j] = 1
            } else {
                p[i][j] = (p[i-1][j-1]+p[i-1][j])%mod
            }
        }
    }
    return p[n-1][m]
}

func main() {
    var mod int64
    mod = 1000000000
    var N, M int64
    fmt.Scan(&N)
    fmt.Scan(&M)
    var a, b, c int64
    a = N/1000/M
    b = N - (a * M) * 1000
    c = b/1000
    N /= 1000
    N %= M
//    fmt.Println(M, c)
//    fmt.Println(pascal(M, c, mod)%mod)
    fmt.Println(pascal_s(M, c, mod)%mod)
}
0