communication-easy

2 secs 1024 MB
Ang107's icon Ang107

解説

問題の整理

NN 回の選択があり、ii 回目には KiK_i 個の選択肢が存在します。
各選択肢にはスコア Si,jS_{i,j} が割り当てられており、それを選ぶと コミュニケーションポイントSi,jS_{i,j} が加算されます。

最終的にポイントの合計が XX 以上になる選び方の総数を求める問題です。

総選択肢数は

i=1NKi\prod_{i=1}^{N} K_i

通りあります。制約から Ki4K_i \leq 4, N10N \leq 10 なので、高々 410=1,048,5764^{10} = 1,048,576 通りであり、十分に全探索が可能です。

解法方針

次のような方法で解くことができます。

  1. 全てのパートの選択肢を直積で列挙する。

  2. 各組み合わせの合計スコアを計算し、XX 以上ならカウントする。

計算量

O(KN)O(K^N) で制約下で十分高速に動作します.

実装例は以下のようになります。