單元地圖

前置知識

  • ✓ 二維陣列的宣告、初始化與遍歷(上冊 6.9),以及索引從 0 開始數(上冊 6.3
  • ✓ 自己寫函式,特別是回傳 bool 的判斷函式與短路求值(上冊 7.4
  • vector、巢狀 vectorstring10.210.310.7)、pair10.11
  • ✓ 參考、以範圍為基礎的 for 迴圈、結構化綁定(12.312.412.5

學習成果

本單元結束後,你將能夠:

  • ✓ 把題目裡的方格、棋盤、矩陣讀進二維陣列,並用「第 i 列第 j 行」的口徑與 APCS 題目對話
  • ✓ 寫出邊界判斷函式 inside,並知道為什麼它一定要放在存取陣列之前
  • ✓ 用方向表 dr[]dc[] 取代一大串 if,並解釋為什麼方向要順時針排
  • ✓ 模擬「一步一步走、聽指令或撞牆就轉向」的角色
  • ✓ 模擬「沿固定方向一直走到停」的射線,並用標記表記錄走過的格子
  • ✓ 枚舉一格的四鄰格、八鄰格與曼哈頓距離範圍,出界的格子不算
  • ✓ 分辨「同時發生」與「依序處理」,用兩張表寫出同步更新
  • ✓ 枚舉子矩陣的左上角做平移比對;把形狀打成表再檢查碰撞
  • ✓ 寫出旋轉與翻轉的座標公式,並用反操作把矩陣還原
  • ✓ (延伸)從中心往外螺旋走訪
  • ✓ 把一道實作題的規則排好,一條一條翻譯成程式碼,並在交出去前用小測資檢查