結果
問題 |
No.1631 Sorting Integers (Multiple of K) Easy
|
ユーザー |
![]() |
提出日時 | 2021-08-07 14:20:44 |
言語 | Crystal (1.14.0) |
結果 |
AC
|
実行時間 | 1,268 ms / 3,000 ms |
コード長 | 385 bytes |
コンパイル時間 | 12,670 ms |
コンパイル使用メモリ | 295,708 KB |
実行使用メモリ | 140,504 KB |
最終ジャッジ日時 | 2024-09-18 18:10:03 |
合計ジャッジ時間 | 28,844 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 28 |
ソースコード
n, k = read_line.split.map(&.to_i) c = read_line.split.map(&.to_i) digits = (1..9).flat_map { |x| [x] * c[x - 1] } dp = Array.new(2**n) { [0i64] * k } dp[0][0] = 1 (0...2**n).each { |set| (0...k).each { |r| (0...n).each { |i| dp[set | (1 << i)][(r * 10 + digits[i]) % k] += dp[set][r] if set.bit(i) == 0 } } } ans = dp.last[0] c.each { |c| (1..c).each { |x| ans //= x } } puts ans