演算法 面試 行動序列

2021-09-29 02:10:34 字數 686 閱讀 6446

[程式設計] 行動序列

分值:400

程式執行時限: 500 ms

假設你站在乙個無限大的平面的某一點上,接下來你要按照收到的指令序列依次迴圈執行。每條指令可能是以下三種之一:

s:前進一步,r:向右轉90度,l:向左轉90度。

現在需要你寫乙個演算法,判斷對於給定的指令序列,是否存在「繞圈子」的現象。

所謂「繞圈子」是指:當你無限迴圈執行給定的指令序列後,存在乙個有限的正整數r,使得你所有經過的點都在以初始點為圓心,以r步長度為半徑的圓內。另外,我們假設,每一步的長度都是相同的。

輸入:第一行為乙個整數n

之後一共有n行,每行為乙個指令序列

輸入約束:

n位於區間[1,50]

從第二行開始,每行字串長度為1-50,且僅包含字母l, s, r

輸出:僅有乙個單詞。

按照輸入給定的順序,從第一行開始,每行從第乙個字元開始。如果給定的指令序列存在繞圈子的現象,則輸出bounded,否則輸出unbounded

舉例1:輸入1

srsl

輸出unbounded

解釋:假設你初始狀態向北,你的行動序列依次為前進,右轉,前進,左轉,此時你仍然向北,但位置已經向東北方挪動了。只要時間足夠長,你會一直向東北方前進,所以你沒有在繞圈子。

舉例2:輸入2

ssssr輸出

bounded

velocity序列動畫

結合上次提到的velocity的ui pack存在一下問題 我這裡想到了一種解決思路 結合上述解決思路,又結合animation.css和magic.css兩大css動畫庫,產出了velocity ui pack extra velocity動畫庫加強包 他主要解決的問題 這裡主要使用了veloci...

演算法 最長公共子串行(動態規劃)

給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行的長度。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行。兩個...

美麗序列(動態規劃)

第一行輸入乙個整數n 1 n 40 第二行輸入n個整數輸出乙個整數示例1 2 3 14示例2 5 3 1 2示例3 3 1 0 400示例4 11 1 40 1 1 1 10 1 1 1 21 1579347890子任務1 n 10 子任務2 n 20 子任務3 無限制 解題思路 按照動態規劃的一般...