Test Message

b860: 獨角蟲進化計算器

內容

在 Pokémon Go 遊戲中,獨角蟲 (Weedle) 是滿地爬的常見寶可夢。儘管稀有性不足,但是因為它只要 12 顆糖果就可以進化,所以常常被玩家大量補捉並進化,以賺取每次進化所得到的 500 XP 經驗值。

在遊戲中,每補獲一隻獨角蟲可以得到 3 顆糖果,每傳送一隻獨角蟲或是它所進化成的鐵殼蛹 (Kakuna) 給教授可以得到 1 顆糖果,每完成一隻獨角蟲的進化也可以得到一顆糖果。

給你文文目前所擁有的糖果及獨角蟲數量,(假設文文已經把所有的鐵殼蛹或由它再進化而成的大針蜂 (Beedrill)傳送給教授以換取糖果了,而且他會留下足夠的獨角蟲以儘可能進行最多的進化),請你幫他計算一下他現在可以完成幾隻獨角蟲的進化。


輸入

輸入只有一行,含有糖果數量 c (0 ≤ c ≤ 30000)、及所擁有的獨角蟲數量 w (0 ≤ w ≤ 10000)。

19 5

輸出

輸出可進化的獨角蟲數量。

2


解題思路

小麻煩的流程控制,記得在沒糖果的時候還可以拿獨角仙去換。


完整程式碼

AC (2ms, 100KB)
#include <stdio.h>

int main()
{
int candy, weedle, kakuna, count, min;
while (scanf(" %d %d", &candy, &weedle) == 2)
{
kakuna = count = 0;
do
{
min = candy / 12;
if (weedle < min)
min = weedle;
if (min)
{
candy -= 11 * min;
weedle -= min;
kakuna += min;
count += min;
}
candy += kakuna;
kakuna = 0;
if (candy < 12)
{
weedle -= 12 - candy;
candy = 12;
}
} while (weedle > 0);
printf("%d\n", count);
}
return 0;
}