杭電OJ(HDOJ)1870題 愚人節的禮物

2021-06-27 19:08:59 字數 730 閱讀 4317

題意:

四月一日快到了,vayko想了個愚人的好辦法——送禮物。嘿嘿,不要想的太好,這禮物可沒那麼簡單,vayko為了愚人,準備了一堆盒子,其中有乙個盒子裡面裝了禮物。盒子裡面可以再放零個或者多個盒子。假設放禮物的盒子裡不再放其他盒子。

用()表示乙個盒子,b表示禮物,vayko想讓你幫她算出愚人指數,即最少需要拆多少個盒子才能拿到禮物。

本題目包含多組測試,請處理到檔案結束。

每組測試包含乙個長度不大於1000,只包含'(',')'和'b'三種字元的字串,代表vayko設計的禮物透檢視。

你可以假設,每個透檢視畫的都是合法的。對於每組測試,請在一行裡面輸出愚人指數。

示例輸入:

((((b)()))())

(b)示例輸出:41

解決方案:

看上去像是編譯原理的文法識別,要用到棧,其實不是,只要看準備上面紅色的字,就知道,只有三種字元()b,且待處理的串為合法的文法,所以要知道包裝盒的個數,只要知道b前面有多少(字元,但可能有(()b)這種情況,b前面有),但因為合法,所以可以在b之前的找到(與)相匹配,就剔除掉了,所以盒子的個數就是b之前的串中(的個數減去)的個數。

#includeint main()

printf("%d\n",numl-numr);

}}

杭電1870 愚人節的禮物

四月一日快到了,vayko想了個愚人的好辦法 送禮物。嘿嘿,不要想的太好,這禮物可沒那麼簡單,vayko為了愚人,準備了一堆盒子,其中有乙個盒子裡面裝了禮物。盒子裡面可以再放零個或者多個盒子。假設放禮物的盒子裡不再放其他盒子。用 表示乙個盒子,b表示禮物,vayko想讓你幫她算出愚人指數,即最少需要...

杭電oj HDOJ 2018 母牛的故事

有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n 0對於每個測試例項,輸出在第n年的時候母牛的數量。每個輸出佔一行。前3年可以很容易地算出 第一年為1頭...

杭電oj HDOJ 2019 數列有序

有n n 100 個整數,已經按照從小到大順序排列好,現在另外給乙個整數x,請將該數插入到序列中,並使新的序列仍然有序。輸入資料報含多個測試例項,每組資料由兩行組成,第一行是n和m,第二行是已經有序的n個數的數列。n和m同時為0標示輸入資料的結束,本行不做處理。對於每個測試例項,輸出插入新的元素後的...