複雜DP習題課總結

包子湊數(完全揹包問題)

小明幾乎每天早晨都會在一家包子鋪吃早餐。

他發現這家包子鋪有 N 種蒸籠,其中第 i 種蒸籠恰好能放 Ai 個包子。

每種蒸籠都有非常多籠,可以認爲是無限籠。

每當有顧客想買 X 個包子,賣包子的大叔就會迅速選出若干籠包子來,使得這若干籠中恰好一共有 X 個包子。

比如一共有 3 種蒸籠,分別能放 3、4 和 5 個包子。

當顧客想買 11 個包子時,大叔就會選 2 籠 3 個的再加 1 籠 5 個的(也可能選出 1 籠 3 個的再加 2 籠 4 個的)。

當然有時包子大叔無論如何也湊不出顧客想買的數量。

比如一共有 3 種蒸籠,分別能放 4、5 和 6 個包子。

而顧客想買 7 個包子時,大叔就湊不出來了。

小明想知道一共有多少種數目是包子大叔湊不出來的。

輸入格式

第一行包含一個整數 N。

接下來 N 行,每行包含一個整數 Ai。

輸出格式

輸出一個整數代表答案。

如果湊不出的數目有無限多個,輸出INF。

數據範圍

1≤N≤100,
1≤Ai≤100

輸入樣例1:

2
4
5

輸出樣例1:

6

輸入樣例2:

2
4
6

輸出樣例2:

INF

樣例解釋

對於樣例1,湊不出的數目包括:1, 2, 3, 6, 7, 11。
對於樣例2,所有奇數都湊不出來,所以有無限多個。

思路

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章