QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 512 MB Points totaux : 100

#274. 複讀 / 複讀機

Statistiques

小 X 撿到了一台複讀機,這台複讀機可以向機器人發號施令。機器人將站在一棵完全二叉樹的根上,完全二叉樹是無限延伸的。你將向複讀機錄入一串指令,這串指令單個字符可以是:

  • L:命令機器人向當前節點的左子走;
  • R:命令機器人向當前節點的右子走;
  • U:命令機器人向當前節點的父親走(若沒有,則命令非法)。

錄入指令後,複讀機將會把指令無限複讀下去。比如命令為 LR,那麼機器人會遵從 LRLRLRLR... 一直走下去。

這棵完全二叉樹上有一個 $n$ 個節點的連通塊,保證這個連通塊包含根節點。連通塊上的每個節點都埋有寶藏,機器人到達過的地方如果有寶藏,則會將其開採。如果一個地方沒有寶藏,機器人也可以到那裡去。機器人也可以反覆經過一個地方。

顯然,這個連通塊本身也是一棵二叉樹。

現在,有人告訴了小 X 埋有寶藏的這棵二叉樹的前序遍歷,小 X 需要尋找到一條儘量短的指令,使得機器人能夠挖掘出所有寶藏。

輸入格式

一行一個字符串,由 0123 中的字符組成,表示埋有寶藏的這棵二叉樹的前序遍歷。

  • 0:表示這是一個沒有兒子的節點。
  • 1:表示這是一個只有左子的節點。
  • 2:表示這是一個只有右子的節點。
  • 3:表示這是一個既有左子又有右子的節點。

輸出格式

一個整數,表示最短指令的長度。

範例

範例 1 輸入

1313000

範例 1 輸出

3

說明 1

一種可行的最短指令為 LRU

範例 2 輸入

333003003300300

範例 2 輸出

15

子任務

  • Subtask 1(31 points):$2 \le n \le 10$。
  • Subtask 2(32 points):$2 \le n \le 200$。
  • Subtask 3(37 points):無特殊限制。

對於 $100\%$ 的資料,$2 \le n \le 2 \times 10^3$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.