Problem
給一段簡單的組合語言,有三種指令。
- 判斷指令:有可能跳到第 x 個指令,不然就會執行下一行指令。
- 計算指令:計算完,執行下一行指令。
- 跳躍指令:直接跳躍到第 x 個指令。
判斷這支程式是否有機會停止、或者是進入無限迴圈、還是一直都會結束。
Sample Input
|
|
Sample Output
|
|
Solution
知道指令與指令之間的關係,不仿建造一個有向圖,判斷使否存在一個環,根據 BFS 若沒有辦法抵達終點,
- 沒有辦法抵達終點,有環,保證程式會進入無限迴圈。
- 有辦法抵達終點,有環,有機會停止。
- 其他-總會停止。
|
|