小心陷阱 (APCS 2025-06 初級)
1.0s 256M在一維數線上進行一場模擬遊戲,規則如下:
- 初始位置為 \(0\)。
- 初始生命值為 \(k\)。
- 當前生命值為 \(v\) 時,角色會往右跳 \(v\) 格,也就是從位置 \(p\) 移動到 \(p + v\)。
- 每次移動後,如果落在 \(x_1\) 或 \(x_2\) 的倍數上,會損失生命值:
- 若落在 \(x_1\) 的倍數,生命值減少 \(y_1\)。
- 若落在 \(x_2\) 的倍數,生命值減少 \(y_2\)。
- 若同時是 \(x_1\) 和 \(x_2\) 的倍數,生命值總共減少 \(y_1 + y_2\)。
- 當生命值小於等於 \(0\) 時,遊戲結束,輸出當前所在的位置。
輸入格式
第一行有一個整數 \(k\),表示初始生命值。
第二行有兩個整數 \(x_1\) 與 \(y_1\)。
第三行有兩個整數 \(x_2\) 與 \(y_2\)。
限制
- \(1 \le k \le 20\)
- \(1 \le x_1, x_2 \le 10\)
- \(1 \le y_1, y_2 \le 20\)
輸出格式
輸出遊戲結束時所在的位置。
評分說明
每一筆測試資料的執行時間限制均為 \(1\) 秒,依正確通過的測試資料筆數給分。其中:
- 第 1 子題組(\(40\) 分):\(x_1 = 3\)、\(x_2 = 4\)、\(y_1 = y_2 = k\)。
- 第 2 子題組(\(60\) 分):無額外限制。
範例輸入 1
1
3 1
4 1
範例輸出 1
3
(說明)生命值 \(1\),每次往右跳 \(1\) 格。位置 \(1\)、\(2\) 都不是 \(3\) 或 \(4\) 的倍數;跳到位置 \(3\) 時是 \(3\) 的倍數,生命值減 \(1\) 變為 \(0\),遊戲結束,位置為 \(3\)。
範例輸入 2
7
3 2
2 3
範例輸出 2
18
(說明)從 \(0\) 跳 \(7\) 到 \(7\)(非倍數);跳 \(7\) 到 \(14\)(\(2\) 的倍數,減 \(3\) → 生命 \(4\));跳 \(4\) 到 \(18\)(同時是 \(3\)、\(2\) 的倍數,減 \(2 + 3 = 5\) → 生命 \(-1\)),結束於位置 \(18\)。
題目來源
APCS 2025 年 6 月實作題第 1 題。
登入後即可撰寫程式並提交評測。
登入