#include <stdio.h>
int remove_area(char* s, char fc, char lc){
int n, k;
char* p, *i;
for(k = n = 0, p = s; *p; ++p){
if(*p == fc){
++n;
k = 1;
} else if(*p == lc){
--n;
k = 1;
}
}
if(n != 0 || !k)
return 0;
while(*s && (*s != fc))
++s;
for(p = s; *s; *s = *p){
if(*p != fc)
++s;
else {
*(++s) = *p;
i = p + 1;
while(*i && (*i != lc))
++i;
p = i;
continue;
}
++p;
}
return 1;
}
int main(void){
char s[] = "(ops) sector (area) (2012)() end (X)";
if(! remove_area(s, '(', ')') )
else
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgcmVtb3ZlX2FyZWEoY2hhciogcywgY2hhciBmYywgY2hhciBsYyl7CglpbnQgICBuLCBrOwoJY2hhciogcCwgKmk7CgoJZm9yKGsgPSBuID0gMCwgcCA9IHM7ICpwOyArK3ApewoJCWlmKCpwID09IGZjKXsKCQkJKytuOwoJCQlrID0gMTsKCQl9IGVsc2UgaWYoKnAgPT0gbGMpewoJCQktLW47CgkJCWsgPSAxOwoJCX0KCX0KCWlmKG4gIT0gMCB8fCAhaykKCQlyZXR1cm4gMDsKCgl3aGlsZSgqcyAmJiAoKnMgIT0gZmMpKQoJCSsrczsKCglmb3IocCA9IHM7ICpzOyAqcyA9ICpwKXsKCQlpZigqcCAhPSBmYykKCQkJKytzOwoJCWVsc2UgewoJCQkqKCsrcykgPSAqcDsKCQkJaSAgICAgID0gcCArIDE7CgkJCXdoaWxlKCppICYmICgqaSAhPSBsYykpCgkJCQkrK2k7CgkJCXAgPSBpOwoJCQljb250aW51ZTsKCQl9CgkJKytwOwoJfQoJcmV0dXJuIDE7Cn0KCmludCBtYWluKHZvaWQpewoJY2hhciBzW10gPSAiKG9wcykgc2VjdG9yIChhcmVhKSAoMjAxMikoKSBlbmQgKFgpIjsKCglwdXRzKHMpOwoJaWYoISByZW1vdmVfYXJlYShzLCAnKCcsICcpJykgKQoJCXB1dHMoImVycm9yIik7CgllbHNlCgkJcHV0cyhzKTsKCWdldGNoYXIoKTsKCXJldHVybiAwOwp9Cg==