棧 字元 匹配(jzoj 1612)

2021-09-30 19:28:27 字數 614 閱讀 5342

給你乙個長度為n的字串(有多組資料),中間有小寫字母(沒用的東西)和大寫字母,a-m是左括號,與之相對的是右括號z-n(之所以說是z-n而不是n-z是因為只有z可以和a相對,只有m可以和n相對……),求他是否正確,就是判斷是否有單個括號,括號不匹配,左括號過多,右括號過多的情況,正確輸出1否則輸出012

aabczbbefyey150%的資料n<=1000

100%的資料n<=1000000利用棧的原理,當有大寫字母時就判斷,如果和棧頂匹配,dep(棧的高度)++,否則就入棧,最後看看棧是否為空就行了

#include

#include

#include

#include

#include

using

namespace std;

int dep,n,a[

1000005];

char x;

intmain()

}if(!dep)

printf

("1\n");

//輸出

else

printf

("0\n");

//輸出

}return0;

}

jzoj4624 字串匹配 kmp

求乙個串在另乙個串複製n遍的串出現幾遍。顯然將兩個串做kmp,有很多重複,可以先把第二個串複製到比第乙個串長,計算結果,增長乙個串,計算結果,計算有多少個增長串,得到最終結果。include include include include include define ll long long de...

字串匹配問題 基礎棧

字串匹配問題 題目描述 字串中只含有括號 判斷輸入的字串中括號是否匹配。如果括號有互相包含的形式,從內到外必須是 例如。輸入 輸出 yes,而輸入 都應該輸出no。輸入 檔案的第一行為乙個整數n,表示以下有多少個由括好組成的字串。接下來的n行,每行都是乙個由括號組成的長度不超過255的字串。輸出 在...

python棧 字串反轉,括號匹配

棧的實現 1 定義乙個棧類 2class stack 3 棧的初始化 4def init self 5 self.items 6 判斷棧是否為空,為空返回true 7def isempty self 8return self.items 9 向棧內壓入乙個元素 10def push self,ite...