熱門文章

2025年8月4日 星期一

ZeroJudge 解題筆記:b860. 獨角蟲進化計算器

作者:王一哲
日期:2025年8月4日


ZeroJudge 題目連結:b860. 獨角蟲進化計算器

解題想法


用 while 迴圈不斷更新糖果、獨角蟲、鐵殼蛹的數量,直到獨角蟲的數量歸零為止。

Python 程式碼


使用時間約為 46 ms,記憶體約為 3.3 MB,通過測試。
c, w = map(int, input().split())  # 讀取糖果數量 c,獨角蟲數量 w
k = 0  # 鐵殼蛹數量 k

while w > 0:  # 如果 w 大於 0 繼續執行
    if c >= 12 and w >= 1:  # 如果 c 大於等於 12 而且 w 大於等於 1 才能進化
        c -= 10  # c 減 10,先用掉 12 顆,進化得 1 顆,再將鐵殼蛹送給博士得 1 顆
        w -= 1  # 進化,獨角蟲數量 w 減 1
        k += 1  # 鐵殼蛹數量 k 加 1
    else:  # 否則將獨角蟲送給博士換糖果
        w -= 1
        c += 1
# end of while loop
print(k)  # 印出答案


C++ 程式碼


使用時間約為 2 ms,記憶體約為 320 kB,通過測試。
#include <iostream>
using namespace std;

int main() {
    int c, w, k = 0; cin >> c >> w;  // 讀取糖果數量 c,獨角蟲數量 w,鐵殼蛹數量 k = 0
    while(w > 0) {  // 如果 w 大於 0 繼續執行
        if (c >= 12 && w >= 1) {  // 如果 c 大於等於 12 而且 w 大於等於 1 才能進化
            c -= 10;  // c 減 10,先用掉 12 顆,進化得 1 顆,再將鐵殼蛹送給博士得 1 顆
            w--;  // 進化,獨角蟲數量 w 減 1
            k++;  // 鐵殼蛹數量 k 加 1
        } else {  // 否則將獨角蟲送給博士換糖果
            w--; c++;
        }
    }
    cout << k << "\n";  // 印出答案
    return 0;
}


沒有留言:

張貼留言