結果
| 問題 | 
                            No.129 お年玉(2)
                             | 
                    
| コンテスト | |
| ユーザー | 
                            👑  | 
                    
| 提出日時 | 2020-04-11 23:12:38 | 
| 言語 | Lua  (LuaJit 2.1.1734355927)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 132 ms / 5,000 ms | 
| コード長 | 447 bytes | 
| コンパイル時間 | 99 ms | 
| コンパイル使用メモリ | 6,816 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-09-19 16:10:21 | 
| 合計ジャッジ時間 | 3,841 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 46 | 
ソースコード
local n = io.read()
if #n <= 3 then
  n = 0
else
  n = n:sub(1, #n - 3)
  n = tonumber(n)
end
local m = io.read("*n")
local mod = 1000000000
n = n % m
local dp1, dp2 = {}, {}
dp1[1] = {1}
for i = 1, m do
  local src = i % 2 == 1 and dp1 or dp2
  local dst = i % 2 == 1 and dp2 or dp1
  dst[1] = 1
  for j = 1, i - 1 do
    dst[j + 1] = (src[j] + src[j + 1]) % mod
  end
  dst[i + 1] = 1
end
local ret = m % 2 == 1 and dp2 or dp1
print(ret[n + 1])