考慮一種簡單的正規表示式:只由 x ( ) | 組成的正規表示式。
小明想求出這個正規表示式能接受的最長字串的長度。
例如 ((xx|***)x|(x|xx))xx 能接受的最長字串是: ******,長度是6
輸入乙個由x()|組成的正規表示式。輸入長度不超過100,保證合法。
輸出這個正規表示式能接受的最長字串的長度。
樣例輸入
((xx|***)x|(x|xx))xx
樣例輸出
6
【想說的】(要命,練了這麼久,基本遞迴想不出,好想敲shi自己)好好思考昂這題目遞迴去寫,分而治之?
先定義兩個變數,maxx記錄()目前最大的串,cnt記錄由『|』分組的情況
遍歷整個字串,遇到左括號,象徵新的一輪要開始,就要遞迴了;遇到『|』,開始作比較,更新maxx的值;遇到』x』老老實實cnt++下乙個;遇到右括號就結束了迴圈,把括號裡的數字返回去。
(仔細體會一下)
#include
using
namespace std;
int k=0;
//遍歷的下標
string a;
intcal()
else
if(a[k]
==')'
)else
if(a[k]
=='|'
)else
}return
max(maxx,cnt);}
intmain()
藍橋杯2017初賽 迷宮
請你計算一下,最後,有多少玩家會走出迷宮?而不是在裡邊兜圈子。答 很簡單的題吧算是,今天開始每日還就那個一更,話說這x星人確實也太懶了點吧?include include using namespace std char x 10 10 int visit 10 10 如果這個村民一直不出來他肯定會...
2017 藍橋杯初賽 分巧克力
資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 兒童節那天有k位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友們。小明一共有n塊巧克力,其中第i塊是hi x wi的方格組成的長方形。為了公平起見,小明需要從這 n 塊巧克力中切出k塊巧克力分給小朋友們。切出的巧克力需要滿足 ...
藍橋杯2017初賽 迷宮 dfs
題目描述 x星球的一處迷宮遊樂場建在某個小山坡上。它是由10x10相互連通的小房間組成的。房間的地板上寫著乙個很大的字母。我們假設玩家是面朝上坡的方向站立,則 l表示走到左邊的房間,r表示走到右邊的房間,u表示走到上坡方向的房間,d表示走到下坡方向的房間。x星球的居民有點懶,不願意費力思考。他們更喜...