結果

問題 No.612 Move on grid
コンテスト
ユーザー TANIGUCHI Kousuke
提出日時 2017-12-14 15:05:39
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
TLE  
実行時間 -
コード長 428 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 142 ms
コンパイル使用メモリ 9,216 KB
実行使用メモリ 15,232 KB
最終ジャッジ日時 2026-05-25 07:00:08
合計ジャッジ時間 6,111 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 1 TLE * 1 -- * 16
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

M = 1000_000_007
T = gets.to_i
a, b, c, d, e = gets.split.map(&:to_i)
MOVE = [a, -a, b, -b, c, -c]

(1 .. T).inject({0 => 1}) do |prev, _|
    prev.each_with_object(Hash.new(0)) do |(k,v), dp|
        MOVE.each do |m|
            dp[k + m] += v
            dp[k + m] %= M if dp[k + m] > M
        end
    end
end.tap do |dp|
    
    answer = (d .. e).inject(0) do |sum, k|
        (sum + dp[k]) % M
    end
    puts answer
end
0