#include <stdio.h>
int main() {
freopen("input.txt", "r", stdin);
int length;
char str[300];
char stack[152];
int top;
int i, j;
for (i = 1; i <= 10; ++i) {
top = -1;
scanf("%d", &length);
scanf("%s", str);
for (j = 0; j < length; ++j) {
if (top > length / 2) // 반절이 차면
break;
if (top == -1)
stack[++top] = str[j]; // 제일 처음 것을 넣음
else
{
if ((str[j] == '(') || (str[j] == '{') || (str[j] == '[') || (str[j] == '<'))
stack[++top] = str[j]; // 여는 것들을 stack에 쌓아둠
else if (((str[j] == ')') && (stack[top] == '('))
|| (str[j] == '}') && (stack[top] == '{')
|| (str[j] == ']') && (stack[top] == '[')
|| (str[j] == '>') && (stack[top] == '<')
)
--top;
else
break;
}
}
if ((top == -1) || (j == length))
printf("#%d 1\n", i);
else
printf("#%d 0\n", i);
}
return 0;
}
댓글