切換
舊版
前往
大廳
主題

ZeroJudge - e969: 3. 大吃大喝 (Big eater) 解題心得

Not In My Back Yard | 2020-04-22 00:15:14 | 巴幣 0 | 人氣 244

題目連結:


題目大意:
給定三整數 N 、 M 、 K (0 ≦ N ≦ 500,0 < M ≦ 60,K = 0 或 1),代表有 N 單位的錢、每隔 M 分鐘進食且從 32 元的蘋果派(K = 0)或是 55 元的玉米濃湯(K = 1)開始。

Wayne 從第 0 分鐘開始進食。請從 K 的值判斷從什麼開始吃,並且每次進食與上一次吃不同的食物。請輸出 Wayne 的進食過程,參見範例輸出。


範例輸入:
範例輸入一:
65 5 0

範例輸入二:
143 18 1

範例輸入三:
55 1 1

範例輸入四:
31 10 0


範例輸出:
範例輸出一:
0: Wayne eats an Apple pie, and now he has 33 dollars.

範例輸出二:
0: Wayne drinks a Corn soup, and now he has 88 dollars.
18: Wayne eats an Apple pie, and now he has 56 dollars.
36: Wayne drinks a Corn soup, and now he has 1 dollar.

範例輸出三:
0: Wayne drinks a Corn soup, and now he doesn't have
money.

範例輸出四:
Wayne can't eat and drink.


解題思維:
把金額存在陣列裡,索引值就代表著對應的金額(K 的值即可對應到金額,不用再用 if 判斷)。同樣地,食物的「名稱」也可以存在陣列裡,並使用 K 的值輸出對應。

接著從第 0 分鐘開始,每次進食後 + M 分鐘。每次進食後按照格式輸出現在的分鐘數、吃的食物、剩餘金額。重複此步驟直到剩餘金額不夠吃下一次進食應吃的食物。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作