藍橋杯 正則問題

2021-08-02 23:02:42 字數 450 閱讀 9250

題目描述:

考慮一種簡單的正規表示式: 只由 x ( ) | 組成的正規表示式。  小明想求出這個正規表示式能接受的最長字串的長度。  例如 ((xx|***)x|(x|xx))xx 能接受的最長字串是: ******,長度是6

輸入:  ((xx|***)x|(x|xx))xx 

程式應該輸出: 6

思路:遇到 '(' 就遞迴呼叫函式, 遇到 'a' 就將計數器x++,遇到 '|'就選出左右最大值,並將計數器置為0, 遇到 ')' 就停止,返回相鄰 '(' ')' 中的最大值。

**:#includeusing namespace std;

int fun()

else if (data=='(')

x+=fun();

else

}} int main(){

int ans=fun();

cout<

藍橋杯 正則問題

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

藍橋杯 2017初賽 正則問題 遞迴

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

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

歷屆試題 正則問題 時間限制 1.0s 記憶體限制 256.0mb 問題描述 考慮一種簡單的正規表示式 只由 x 組成的正規表示式。小明想求出這個正規表示式能接受的最長字串的長度。例如 xx x x xx xx 能接受的最長字串是 長度是6。輸入格式 乙個由x 組成的正規表示式。輸入長度不超過100...