通过97.35%的代码,想不出哪里有问题
#include <bits/stdc++.h>
using namespace std;
string s,t;
int main(){
cin>>s>>t;
int zuo=0;
bool flag = true;
int i=0;
int j=0;
for(;i<s.size() && j<t.size();i++){
if(zuo != 0){//s多出左括号,就要往后找,直到把多出的左括号删掉
if(s[i]=='(')
++zuo;
else
--zuo;
}
else{
if(s[i] == t[j])
j++;
else{
if(s[i]=='(')
++zuo;//s多出个左括号,就要找出与他匹配的全部删除
else
--j;//括号右边不匹配,删除已经匹配的左括号
}
}
}
if(j==t.size())
cout<<"Possible"<<endl;
else
cout<<"Impossible"<<endl;
return 0;
}

查看4道真题和解析