題意:給定乙個長度為n的括號平衡串,q次交換,問交換後是不還是平衡串? 是輸出yes,不是輸出no。
分析: 未交換時,就是乙個平衡串,即括號都能夠匹配
那麼 交換的位置 可能有以下幾種情況:
1.原來就是一樣的 或者 左邊的是』)』,右邊的是』(』 直接特判 (少一種判斷會tle)
2.左邊的是』(』 ,右邊的是』)』 計數判斷
#include
#include
#include
using
namespace
std;
const
int mod=10056;
const
int n=1e5+5;
typedef
long
long ll;
#define mem(a,n) memset(a,n,sizeof(a))
char str[n];
int main()
if(a>b) swap(a,b);
if(str[a-1]==')'&&str[b-1]=='(')
swap(str[a-1],str[b-1]);
int ans=0;
for(int i=0; iif(str[i]=='(')
ans++;
else ans--;
if(ans<0) break;
}printf("%s\n",ans?"no":"yes");
swap(str[a-1],str[b-1]);/// 還要換回去!}}
return
0;}
平衡括號問題
題意 多組案例,輸入由 和 組成的括號序列,判斷是否合法 構成平衡 合法條件如下 1 空字串合法。2 如果a和b都合法,則ab合法。3 如果a合法則 a 和 a 都合法。案例 sample input 3 sample output yes noyes 分析 括號的三種非平衡狀態 1.2.3.設計思...
平衡的括號問題
平衡的括號 要運用棧的一些知識,stl。棧的特點是 先進後出 標頭檔案是,宣告方式 stacks 主要操作 push 把元素壓入 棧頂 又稱入棧 pop 從棧頂把元素彈出,出棧 top 取棧頂元素 但不刪除 size 測棧長 個數 empty 判斷棧是否為空 題目大意 輸入乙個包含 和 的括號序列,...
uva 673 平衡的括號
這道題目要求判斷括號是否平衡。由於是判斷就很簡單了,利用stl裡面的stack棧,遇到 或者 就入棧,遇到 或 就比較出棧。注意下可能輸入空字元 include include include include include include define maxn 200 using namespa...