#include <stdio.h>
char str[300];
char stack[300];
int top;
int main(int argc, char** argv) {
freopen("input.txt", "r", stdin);
int N, ans;
for (int t = 0; t < 10; t++) {
scanf("%d", &N);
scanf("%s", &str);
ans = 1;
top = 0;
for (int i = 0; i < N; i++) {
if (str[i] == '(' || str[i] == '[' || str[i] == '{' || str[i] == '<')
stack[top++] = str[i];
else {
if (top <= 0) {
ans = 0;
break;
}
else if (str[i] == ')') {
if (stack[top - 1] != '(') {
ans = 0;
break;
}
else top--;
}
else if (str[i] == ']') {
if (stack[top - 1] != '[') {
ans = 0;
break;
}
else top--;
}
else if (str[i] == '}') {
if (stack[top - 1] != '{') {
ans = 0;
break;
}
else top--;
}
else if (str[i] == '>') {
if (stack[top - 1] != '<') {
ans = 0;
break;
}
else top--;
}
}
}
if (top == 0 && ans) printf("#%d %d\n", t + 1, ans);
else printf("#%d 0\n", t + 1);
}
return 0;
}
댓글