#include <stdio.h>
#include <string.h>
const char* test(const char* m){
char arr[1024*8];
int t=-1;
for (;m<k;m++){
if (*m=='(')
arr[++t]=1;
else if (*m=='{')
arr[++t]=2;
else if (*m=='[')
arr[++t]=3;
else if (*m==')'){
if (t<0 || arr[t]!=1)
return "Err )";
--t;
}
else if (*m=='}'){
if (t<0 || arr[t]!=2)
return "Err }";
--t;
}
else if (*m==']'){
if (t<0 || arr[t]!=3)
return "Err ]";
--t;
}
}
return "No err";
}
int main(void) {
printf("%s\n",test
("(dsfsgh{sdfsd)fsdf}")); printf("%s\n",test
("(1(2{3}4)5)")); printf("%s\n",test
("(1{2{3}4}5}")); printf("%s\n",test
("({[)}]"));
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCmNvbnN0IGNoYXIqIHRlc3QoY29uc3QgY2hhciogbSl7CgljaGFyIGFyclsxMDI0KjhdOwoJaW50IHQ9LTE7Cgljb25zdCBjaGFyICprPW0rc3RybGVuKG0pOwoJZm9yICg7bTxrO20rKyl7CgkJaWYgKCptPT0nKCcpCgkJYXJyWysrdF09MTsKCQllbHNlIGlmICgqbT09J3snKQoJCWFyclsrK3RdPTI7CgkJZWxzZSBpZiAoKm09PSdbJykKCQlhcnJbKyt0XT0zOwoJCWVsc2UgaWYgKCptPT0nKScpewoJCQlpZiAodDwwIHx8IGFyclt0XSE9MSkKCQkJCXJldHVybiAiRXJyICkiOwoJCQktLXQ7CgkJfQoJCWVsc2UgaWYgKCptPT0nfScpewoJCQlpZiAodDwwIHx8IGFyclt0XSE9MikKCQkJCXJldHVybiAiRXJyIH0iOwoJCQktLXQ7CgkJfQoJCWVsc2UgaWYgICgqbT09J10nKXsKCQkJaWYgKHQ8MCB8fCBhcnJbdF0hPTMpCgkJCQlyZXR1cm4gIkVyciBdIjsKCQkJLS10OwoJCX0KCQkKCX0KCXJldHVybiAiTm8gZXJyIjsKfQoKaW50IG1haW4odm9pZCkgewogICBwcmludGYoIiVzXG4iLHRlc3QoIihkc2ZzZ2h7c2Rmc2QpZnNkZn0iKSk7CiAgIHByaW50ZigiJXNcbiIsdGVzdCgiKDEoMnszfTQpNSkiKSk7CiAgIHByaW50ZigiJXNcbiIsdGVzdCgiKDF7MnszfTR9NX0iKSk7CiAgIHByaW50ZigiJXNcbiIsdGVzdCgiKHtbKX1dIikpOwoJCn0K