1203 擴號匹配問題

2022-04-30 21:51:23 字數 848 閱讀 2948

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

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

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

((abcd(x)

)(rttyy())sss)(

((abcd(x)

$$)(rttyy())sss)(

? ?$

例題不怎麼詳的解:

這題確實挺簡單的,但是這道題雖然放在遞迴裡面,但是我卻找不出遞迴的方法。。。

按理說乙個棧就搞定了,思路也很簡單。就是左括號壓棧,右括號出棧,最後查詢多餘。

等哪一天想出來遞迴的方法再來補全。

樣例**:

#include#include#include#include#define n 1000010

using namespace std;

int main()

{ char a[101],b[101];

int stack[101];

int top=0;

while(cin>>a)

{int len=strlen(a);

for(int i=0;i2019-01-30 10:42:00

1203 擴號匹配問題

時間限制 1000 ms 記憶體限制 65536 kb 提交數 1424 通過數 744 在某個字串 長度不超過100 中有左括號 右括號和大小寫字母 規定 與常見的算數式子一樣 任何乙個左括號都從內到外與在它右邊且距離最近的右括號匹配。寫乙個程式,找到無法匹配的左括號和右括號,輸出原來字串,並在下...

1203 擴號匹配問題

1203 擴號匹配問題 時間限制 1000 ms 記憶體限制 65536 kb 題目描述 在某個字串 長度不超過100 中有左括號 右括號和大小寫字母 規定 與常見的算數式子一樣 任何乙個左括號都從內到外與在它右邊且距離最近的右括號匹配。寫乙個程式,找到無法匹配的左括號和右括號,輸出原來字串,並在下...

擴號匹配問題

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