Skip to content

實戰題庫

題庫說明

本題庫收錄 APCS 歷屆試題以及推薦練習題,按主題與難度分類,幫助你有系統地提升解題能力。

📊 題庫總覽

按級分分類

級分題目數量建議練習時間
1-2 級分30+ 題4-6 週
3 級分25+ 題4-5 週
4 級分20+ 題4-6 週
5 級分15+ 題6-8 週

按主題分類

  • 基礎語法與 I/O (10 題)
  • 條件判斷與迴圈 (12 題)
  • 陣列與字串 (15 題)
  • 函式與遞迴 (10 題)
  • 堆疊與佇列 (8 題)
  • 排序與搜尋 (12 題)
  • 圖論 (10 題)
  • 動態規劃 (8 題)
  • 貪心與分治 (6 題)

🏗️ 模組一:基礎題(1-2 級分)

A1: 輸入輸出與基本運算

題號題目名稱難度主題ZeroJudge 連結
i399數字遊戲I/O、算術運算連結
o076特技表演I/O、條件判斷連結

A2: 條件判斷與迴圈

題號題目名稱難度主題ZeroJudge 連結
g275七言對聯迴圈、字串連結
h026猜拳條件判斷連結

A3: 一維陣列

題號題目名稱難度主題ZeroJudge 連結
h081程式交易⭐⭐陣列遍歷連結
g595修補圍籬⭐⭐陣列處理連結

🏢 模組二:進階題(3 級分)

B1: 字串操作

題號題目名稱難度主題ZeroJudge 連結
i400字串解碼⭐⭐字串處理、字元運算連結
c462交錯字串⭐⭐字串操作連結

B2: 二維陣列與模擬

題號題目名稱難度主題ZeroJudge 連結
b965矩陣轉換⭐⭐二維陣列、模擬連結
h027矩陣總和⭐⭐前綴和連結

B3: 函式與遞迴

題號題目名稱難度主題ZeroJudge 連結
f640函數運算式求值⭐⭐函式連結
j607先加後乘與函數⭐⭐函式設計連結

🚀 模組三:進階題(4 級分)

C1: 堆疊與佇列

題號題目名稱難度主題ZeroJudge 連結
c471物品堆疊⭐⭐⭐堆疊 (Stack)連結
P-3-2括弧配對⭐⭐⭐堆疊應用待補充

C2: 遞迴與回溯

題號題目名稱難度主題ZeroJudge 連結
-全排列生成⭐⭐⭐回溯法待補充
-N-皇后問題⭐⭐⭐回溯法待補充

C3: 排序與二分搜尋

題號題目名稱難度主題ZeroJudge 連結
-互補團隊⭐⭐⭐排序、二分搜尋待補充
-圓環出口⭐⭐⭐二分搜尋變形待補充

🏆 模組四:挑戰題(5 級分)

D1: 圖論

題號題目名稱難度主題ZeroJudge 連結
e287機器人的路徑⭐⭐⭐⭐BFS 最短路徑連結
i401雷射測試⭐⭐⭐⭐BFS/DFS連結
b967血緣關係⭐⭐⭐⭐樹/圖遍歷連結

D2: 動態規劃

題號題目名稱難度主題ZeroJudge 連結
e465置物櫃分配⭐⭐⭐⭐DP連結
g278美食博覽會⭐⭐⭐⭐DP 變形連結
f314勇者修煉⭐⭐⭐⭐DP連結

D3: 貪心與分治

題號題目名稱難度主題ZeroJudge 連結
j608機器出租⭐⭐⭐⭐貪心法連結
h084最佳化問題⭐⭐⭐⭐貪心法連結

📝 刷題建議

學習策略

  1. 循序漸進:按照模組順序練習,確保基礎紮實
  2. 理解優先:不要只是背解法,要理解為什麼這樣做
  3. 多次練習:同一類型的題目至少做 3-5 題
  4. 計時訓練:模擬考試環境,訓練時間管理能力

做題方法

  1. 讀題:仔細閱讀題目,找出關鍵資訊
  2. 分析:判斷題目類型,選擇合適的演算法
  3. 設計:在紙上寫出演算法思路或流程圖
  4. 實作:用 Python 實現你的解法
  5. 測試:用範例測資驗證正確性
  6. 優化:檢查時間複雜度,必要時優化
  7. 提交:在 OJ 平台提交並查看結果
  8. 反思:AC 後總結經驗,WA/TLE 時分析原因

常見錯誤

  • Wrong Answer (WA):邏輯錯誤或未考慮特殊情況
  • Time Limit Exceeded (TLE):演算法效率不夠或 I/O 太慢
  • Runtime Error (RE):陣列越界、除以零等執行時錯誤
  • Memory Limit Exceeded (MLE):使用過多記憶體

效能檢查清單

遇到 TLE 時,檢查:

  • [ ] 是否使用 sys.stdin.readline()
  • [ ] 是否使用 collections.deque 實作佇列?
  • [ ] 時間複雜度是否符合題目限制?
  • [ ] 是否有不必要的重複計算?

🔗 外部資源

線上評測平台

學習資源


Released under the MIT License.