e nộp code e lên thì toàn bị quá thời gian nhưng e không biết code e chưa tối ưu ở đâu,các a xem giúp e:
#include <bits/stdc++.h>
using namespace std;
bool check(string str) {
stack<char> s;
for(int i=0; i<str.length(); i++) {
char c = str[i];
if(c == '(' || c == '{' || c == '[') s.push(c);
else {
if(!s.empty() && c == ']' && s.top() == '[')
s.pop();
else if(!s.empty() && c == '}' && s.top() == '{')
s.pop();
else if(!s.empty() && c == ')' && s.top() == '(')
s.pop();
else return 0;
}
}
return 1;
}
int main() {
int t; cin >> t;
while(t--) {
string str; cin >> str;
if(check(str)) cout << "yes" << endl;
else cout << "no" << endl;
}
return 0;
}