藍橋杯 正則問題(dfs,解決 的計算)

2021-08-15 20:38:37 字數 928 閱讀 1963

歷屆試題 正則問題  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

考慮一種簡單的正規表示式:

只由 x ( ) | 組成的正規表示式。

小明想求出這個正規表示式能接受的最長字串的長度。

例如 ((xx|***)x|(x|xx))xx 能接受的最長字串是: ******,長度是6。

輸入格式

乙個由x()|組成的正規表示式。輸入長度不超過100,保證合法。

輸出格式

這個正規表示式能接受的最長字串的長度。

樣例輸入

((xx|***)x|(x|xx))xx

樣例輸出 6

資料規模和約定

峰值記憶體消耗(含虛擬機器) < 256m

cpu消耗 < 1000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。

注意:main函式需要返回0;

只使用ansi c/ansi c++ 標準;

不要呼叫依賴於編譯環境或作業系統的特殊函式。

所有依賴的函式必須明確地在原始檔中 #include

不能通過工程設定而省略常用標頭檔案。

提交程式時,注意選擇所期望的語言型別和編譯器型別。

#includeusing namespace std;  

string str;

int pos,len,ans;

int dfs()

else if (str[pos] == ')')

else if (str[pos] == '|')

else

} res = max(num, res);

return res;

} int main()

藍橋杯 正則問題

題目描述 考慮一種簡單的正規表示式 只由 x 組成的正規表示式。小明想求出這個正規表示式能接受的最長字串的長度。例如 xx x x xx xx 能接受的最長字串是 長度是6 輸入 xx x x xx xx 程式應該輸出 6 思路 遇到 就遞迴呼叫函式,遇到 a 就將計數器x 遇到 就選出左右最大值,...

藍橋杯 正則問題

問題描述 考慮一種簡單的正規表示式 只由 x 組成的正規表示式。小明想求出這個正規表示式能接受的最長字串的長度。例如 xx x x xx xx 能接受的最長字串是 長度是6。輸入格式 乙個由x 組成的正規表示式。輸入長度不超過100,保證合法。輸出格式 這個正規表示式能接受的最長字串的長度。樣例輸入...

藍橋杯搭積木問題DFS

小明最近喜歡搭數字積木,一共有10塊積木,每個積木上有乙個數字,0 9。搭積木規則 每個積木放到其它兩個積木的上面,並且一定比下面的兩個積木數字小。最後搭成4層的金字塔形,必須用完所有的積木。下面是兩種合格的搭法 0 1 2 3 4 5 6 7 8 9 0 3 1 7 5 2 9 8 6 4 請你計...