給你乙個長度為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...