結果

問題 No.129 お年玉(2)
ユーザー fmhrfmhr
提出日時 2015-04-23 08:57:16
言語 Go
(1.22.1)
結果
AC  
実行時間 833 ms / 5,000 ms
コード長 1,158 bytes
コンパイル時間 17,167 ms
コンパイル使用メモリ 244,736 KB
実行使用メモリ 392,960 KB
最終ジャッジ日時 2024-05-05 22:23:44
合計ジャッジ時間 35,715 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 52 ms
30,464 KB
testcase_01 AC 833 ms
392,960 KB
testcase_02 AC 15 ms
5,376 KB
testcase_03 AC 3 ms
5,376 KB
testcase_04 AC 3 ms
5,376 KB
testcase_05 AC 333 ms
186,752 KB
testcase_06 AC 531 ms
287,744 KB
testcase_07 AC 625 ms
349,056 KB
testcase_08 AC 470 ms
242,688 KB
testcase_09 AC 644 ms
322,560 KB
testcase_10 AC 717 ms
357,248 KB
testcase_11 AC 460 ms
233,216 KB
testcase_12 AC 612 ms
300,416 KB
testcase_13 AC 633 ms
313,728 KB
testcase_14 AC 604 ms
303,360 KB
testcase_15 AC 462 ms
252,160 KB
testcase_16 AC 512 ms
284,928 KB
testcase_17 AC 614 ms
342,656 KB
testcase_18 AC 611 ms
323,712 KB
testcase_19 AC 688 ms
344,320 KB
testcase_20 AC 692 ms
341,760 KB
testcase_21 AC 776 ms
388,352 KB
testcase_22 AC 447 ms
245,248 KB
testcase_23 AC 713 ms
362,752 KB
testcase_24 AC 664 ms
355,456 KB
testcase_25 AC 460 ms
234,624 KB
testcase_26 AC 449 ms
240,128 KB
testcase_27 AC 412 ms
233,216 KB
testcase_28 AC 781 ms
390,272 KB
testcase_29 AC 3 ms
5,376 KB
testcase_30 AC 3 ms
5,376 KB
testcase_31 AC 2 ms
5,376 KB
testcase_32 AC 3 ms
5,376 KB
testcase_33 AC 11 ms
7,552 KB
testcase_34 AC 6 ms
5,376 KB
testcase_35 AC 10 ms
6,912 KB
testcase_36 AC 11 ms
7,552 KB
testcase_37 AC 13 ms
8,704 KB
testcase_38 AC 101 ms
56,832 KB
testcase_39 AC 151 ms
83,072 KB
testcase_40 AC 436 ms
218,752 KB
testcase_41 AC 265 ms
137,600 KB
testcase_42 AC 115 ms
63,616 KB
testcase_43 AC 112 ms
62,592 KB
testcase_44 AC 833 ms
391,296 KB
testcase_45 AC 67 ms
37,888 KB
testcase_46 AC 170 ms
92,032 KB
testcase_47 AC 821 ms
384,512 KB
testcase_48 AC 479 ms
255,488 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import (
    "fmt"
)


func pascal( n, m , mod int64) int64 {
    n += 1
    w := int32(n)
    var p [10001][10001]int32
    p[0][0] = 1
    var i, j int32
    for i=1; i<w; i++ {
        for j=0; j<w; j++ {
            if j == 0 {
                p[i][j] = 1
            } else {
                p[i][j] = (p[i-1][j-1]+p[i-1][j])%int32(mod)
            }
        }
    }
    return int64(p[w-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