歷屆試題 正則問題
時間限制: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 請你計...