알고스팟 BRACKETS2
[-] Collapse
#include<cstdio>
#include<stack>
int main(){
int t; scanf("%d", &t); getchar();
char bracket[126];
bracket['{'] = '}'; bracket['['] = ']'; bracket['('] = ')';
while (t--){
std::stack<char> st;
char c, x;
while (1){
x = scanf("%c", &c);
if (x == -1 || c == '\n') break;
if (bracket[c] == '}' || bracket[c] == ']' || bracket[c] == ')')
st.push(c);
else{
if (!st.empty() && bracket[st.top()] == c)
st.pop();
else
st.push(c);
}
}
puts(st.empty() ? "YES" : "NO");
}
}
#include<stack>
int main(){
int t; scanf("%d", &t); getchar();
char bracket[126];
bracket['{'] = '}'; bracket['['] = ']'; bracket['('] = ')';
while (t--){
std::stack<char> st;
char c, x;
while (1){
x = scanf("%c", &c);
if (x == -1 || c == '\n') break;
if (bracket[c] == '}' || bracket[c] == ']' || bracket[c] == ')')
st.push(c);
else{
if (!st.empty() && bracket[st.top()] == c)
st.pop();
else
st.push(c);
}
}
puts(st.empty() ? "YES" : "NO");
}
}
댓글 없음:
댓글 쓰기