學習筆記 九度OJ 題目1153 括號匹配問題

2022-08-31 04:15:10 字數 1077 閱讀 2084

題目1153:括號匹配問題

時間限制:1 秒

記憶體限制:32 兆

特殊判題:否

提交:1759

解決:786

題目描述:在某個字串(長度不超過100)中有左括號、右括號和大小寫字母;規定(與常見的算數式子一樣)任何乙個左括號都從內到外與在它右邊且距離最近的右括號匹配。寫乙個程式,找到無法匹配的左括號和右括號,輸出原來字串,並在下一行標出不能匹配的括號。不能匹配的左括號用"$"標註,不能匹配的右括號用"?"標註.

輸入:輸入包括多組資料,每組資料一行,包含乙個字串,只包含左右括號和大小寫字母,字串長度不超過100。

注意:cin.getline(str,100)最多只能輸入99個字元!

輸出:對每組輸出資料,輸出兩行,第一行包含原始輸入字元,第二行由"$","?"和空格組成,"$"和"?"表示與之對應的左括號和右括號不能匹配。

樣例輸入:

)(rttyy())sss)(

樣例輸出:

)(rttyy())sss)(

? ?$

2023年北京大學計算機研究生機試真題

答疑:

由於左括號是否匹配需要遍歷整個串後才可判斷,所以需要記錄位置,可以在入棧時直接將左括號所在下標入棧

#include#includeusing namespace std;

int main()

; char out[101] = ;

int i=0;

cout << s << endl;

while (s[i] != '\0')

if (s[i] == ')')

else

}i++;

}//end of while('\0')

while (!stk.empty())

cout << out << endl;

}return 0;

}

九度OJ學習筆記 題目1023

include include includeusing namespace std struct studentbuf 100001 bool cmp1 student a,student b bool cmp2 student a,student b bool c student a,stude...

學習筆記 九度OJ 題目1432 疊筐

題目1432 疊筐 時間限制 1 秒 記憶體限制 128 兆 特殊判題 否 提交 1464 解決 346 題目描述 把乙個個大小差一圈的筐疊上去,使得從上往下看時,邊筐花色交錯。這個工作現在要讓計算機來完成,得看你的了。輸入 輸入是乙個個的三元組,分別是,外筐尺寸n n為滿足0 輸出 輸出疊在一起的...

九度OJ 1153 括號匹配問題

此題乃學習使用stack模板第一題。收穫了以下知識點 pop 返回void,故想要獲取棧頂並刪除需要打出top pop組合拳 stack模板申請出的物件長度是動態的,無需靜態分配 題目描述 在某個字串 長度不超過100 中有左括號 右括號和大小寫字母 規定 與常見的算數式子一樣 任何乙個左括號都從內...