結果
| 問題 |
No.129 お年玉(2)
|
| コンテスト | |
| ユーザー |
fmhr
|
| 提出日時 | 2015-04-23 08:57:16 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 718 ms / 5,000 ms |
| コード長 | 1,158 bytes |
| コンパイル時間 | 13,348 ms |
| コンパイル使用メモリ | 216,692 KB |
| 実行使用メモリ | 392,960 KB |
| 最終ジャッジ日時 | 2024-11-27 23:46:15 |
| 合計ジャッジ時間 | 30,980 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 46 |
ソースコード
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)
}
fmhr