磁軌移動序列 (APCS 2023-06 中高級)

1.0s 256M

你拿到一個磁帶和一串控制指令。磁帶上的指針初始位置為 \(10\),輸入字串以 T10 開頭。指令由 T 與 loop 指令組成。

  • Txxxx 是 \(10\) 到 \(99\) 的兩位數整數,表示將指針移動到位置 \(xx\)。
  • Lx...Ex 是 \(1\) 到 \(9\) 的一位數整數,表示將 Lx 與對應 E 之間的指令序列重複執行 \(x\) 次。loop 可以巢狀,而且每個 loop 內至少包含一個 T 指令。

每次執行 Txx 時,移動距離為目前位置與 \(xx\) 的差的絕對值。請計算執行完整串指令後,指針總共移動的距離。

輸入格式

輸入一行字串,代表磁帶指針的控制指令。

限制

  • 指令字串以 T10 開頭。
  • 指令字串長度不超過 \(10^5\)。
  • 每個 loop 的重複次數介於 \(1\) 到 \(9\)。
  • 每個 loop 內至少包含一個 T 指令。
  • 總移動距離不超過 \(2^{60}\)。

輸出格式

輸出一個整數,代表指針執行完所有指令後移動的總距離。

評分說明

本題共有 \(20\) 筆計分測試資料,每筆 \(5\) 分。

子題 分數 額外限制
1 10 不存在 loop,字串長度不超過 \(50\)
2 30 字串長度不超過 \(10^4\),展開後的 T 紀錄數不超過 \(3\times10^4\)
3 60 無額外限制

範例輸入 1

T10T15T23T23T22T22T44

範例輸出 1

36

範例輸入 2

T10L2T15T22L2T15ET23ET44

範例輸出 2

78

題目來源

APCS 2023 年 6 月實作題第 3 題,ZeroJudge k733 磁軌移動序列

題目頁說明

快速鍵

主要功能

  • 範例測試 — 執行題目附帶的範例測資並自動比對預期輸出。
  • 自訂測試 — 自己貼 stdin 執行程式。可勾選「與預期輸出比對 (diff)」做行對行比對。
  • 模板 — 貼上你在個人資料設定的預設程式碼模板。
  • 協作 — 與其他同學共筆編輯這題的程式碼。
  • 自動草稿 — 編輯器內容每 1.5 秒自動存到瀏覽器(per 帳號 / 題目 / 語言)。
  • 提交 — 把程式碼交給 judge 評測,回傳 AC / WA / TLE 等結果。

限制

  • 程式碼最多 65,536 字元
  • 自訂測試 stdin 與預期輸出各最多 1 MB (約 100 萬字元)
  • 自訂測試與範例測試共用一個沙箱,每人約 3 秒 1 次 (範例測試 1 秒 1 次)
  • 自訂測試與範例測試都有 15 秒 牆鐘上限(正式評測仍依題目原本時限)
  • 互動題不提供自訂測試(無法模擬與 judge 互動)。
  • 提交評測本身沒有 rate limit,但同題短時間內多次提交會被視為刷分。