搬蘿蔔 取水果

2021-08-03 02:25:30 字數 2356 閱讀 4159

2. (10分) 乙隻小兔子有100根胡蘿蔔, 它要走50公尺才能到家, 每次它最多搬50根胡蘿蔔, 而每走1公尺就要吃掉1根胡蘿蔔, 請問它最多能把多少根胡蘿蔔搬到家裡?

3. (10分) 有任意種水果, 每種水果個數也是任意的, 兩人輪流從中取出水果, 規則如下:

1) 每一次應取走至少乙個水果; 每一次只能取走一種水果的乙個或者全部.

2) 如果誰取到最後乙個水果就勝.

給定水果種類 n和每種水果的個數 m1, m2, ..., mn, 算出誰取勝.

time to rack your brain, dude.

[carrot problem]

一旦折返, 折返的路程上花費為 3c/m; 不折返的話花費為 1c/m.

因此需要盡量減小折返,確保最後不折返的時候帶的蘿蔔盡量多(上限50個).

假設總折返距離為 x(m), 有 100 - 3x <= 50, 即 x >= 50 / 3

最後剩下的蘿蔔個數為: (100 - 3x) - (50 - x) = 50 - 2x <= 50 / 3

因此, 至多剩下16個蘿蔔(只能取整數的話), 此時折返路程為17m.

能取分數的話直接取等號就行了, 不再贅述.

[fruit problem]

我用歸納法做出來的. 之前想了很多情況想直接推理出來, 但是越弄越亂.

我一開始沒有注意到乙個事實:

此題為求必勝策略的題, 每次取水果之前的必勝與否是由取之後的必敗與否決定的.

因此應該先進行從簡單到複雜的遞推, 然後歸納找規律.

假設兩個人分別為 a 和 b, a 先取水果. 

水果總個數為 m (即 m1 + m2 + ... + mn). 開始分情況討論:

(1) 有 1 種水果

a 必勝
(2) 有 2 種水果

此時兩個人都不敢全部拿走一種水果, 因為那樣會送對方進入(1)的必勝態, 自己必敗.

所以兩個人都只能乙個乙個拿, 這樣誰拿走最後乙個就由 m 的奇偶性決定.

若 m 是奇數, a 必勝; 否則 a 必敗.

(3) 有 3 種水果

a先取, 他有足夠的主動權, 讓 b 進入(2)的必敗態.

如果 m 是奇數, 說明至少有一種水果有奇數個, 全部取走這一種水果後, b 就會進入(2)中的必敗態(m' 為偶數), 因此, a 必勝;

如果 m 是偶數, 由於 n 為 3, 因此至少有一種水果有偶數個, 全部取走這一種水果後, b 就會進入(2)中的必敗態(m' 為偶數), 因此, a 必勝;

綜上,a 必勝

(4) 有 4 種水果

a 先取, 他不敢全部取走一種, 因為會送 b 進入(3)的必勝態, a 就必敗.

因此 a 只能取乙個.

a) 若 a 取走這乙個就變成(3)了, 說明 4 種水果都只有乙個(否則 a 可以避免取走一種).
此時m 為偶數 4 且 a 必敗.
b) 若 a 取完這乙個還剩 4 種水果, 那 b 同上分析也只敢取乙個.
依次類推, 誰最後面對a)的情況就必敗了.
因此勝負由 m - 4 的奇偶性決定, 它與 m 的奇偶性相同. (其實(2)中也可以想成由 m - 2 的奇偶性決定)
若 m 為奇數, a 必勝; 否則 a 必敗.
綜合 a) 與 b)若 m 為奇數, a 必勝; 否則 a 必敗.
至此, 已經可以看到規律了.

1. 若 n 為奇數, a 必勝;

2. 若 n 為偶數且 m 為奇數, a 必勝;

3. 否則 a 必敗.

形象點兒的話, 用乙個表描述.

"奇"代表"有奇數個水果的品種數", "偶"含義類似

"勝負"為 1 代表 a 必勝, 0 代表 a 必敗

九度 1107 搬水果

題目描述 在乙個果園裡,小明已經將所有的水果打了下來,並按水果的不同種類分成了若干堆,小明決定把所有的水果合成一堆。每一次合併,小明可以把兩堆水果合併到一起,消耗的體力等於兩堆水果的重量之和。當然經過 n 1 次合併之後,就變成一堆了。小明在合併水果時總共消耗的體力等於每次合併所耗體力之和。假定每個...

搬水果 貪心演算法實現

1 題目描述 在乙個果園裡,小明已經將所有的水果打了下來,並按水果的不同種類分成了若干堆,小明決定把所有的水果合成一堆。每一次合併,小明可以把兩堆水果合併到一起,消耗的體力等於兩堆水果的重量之和。當然經過 n 1 次合併之後,就變成一堆了。小明在合併水果時總共消耗的體力等於每次合併所耗體力之和。假定...

九度OnlineJudge 搬水果(1107)

題目描述 在乙個果園裡,小明已經將所有的水果打了下來,並按水果的不同種類分成了若干堆,小明決定把所有的水果合成一堆。每一次合併,小明可以把兩堆水果合併到一起,消耗的體力等於兩堆水果的重量之和。當然經過 n 1 次合併之後,就變成一堆了。小明在合併水果時總共消耗的體力等於每次合併所耗體力之和。假定每個...