題目描述:
考慮一種簡單的正規表示式: 只由 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...