import java.util.regex.*;
class Uni {
public static boolean isProperlyNested
(String toTest
) { int countOpen = 0;
for (char c : toTest.toCharArray()) {
if (c == '{') {
countOpen++;
} else if (c == '}') {
countOpen--;
if (countOpen < 0) return false;
}
}
return countOpen == 0;
}
public static void main
(String[] args
) { " {} {}\n" +
"} // Properly nested",
str2 = "{{\n" +
" {{}}\n" +
"} {} // Not properly nested";
System.
out.
println(str1
+ "\t" + isProperlyNested
(str1
)); System.
out.
println(str2
+ "\t" + isProperlyNested
(str2
)); }
}
aW1wb3J0IGphdmEudXRpbC5yZWdleC4qOwoKY2xhc3MgVW5pIHsKCXB1YmxpYyBzdGF0aWMgYm9vbGVhbiBpc1Byb3Blcmx5TmVzdGVkKFN0cmluZyB0b1Rlc3QpIHsKCSAgICBpbnQgY291bnRPcGVuID0gMDsKCSAgICBmb3IgKGNoYXIgYyA6IHRvVGVzdC50b0NoYXJBcnJheSgpKSB7CgkgICAgICAgIGlmIChjID09ICd7JykgewoJICAgICAgICAgICAgY291bnRPcGVuKys7CgkgICAgICAgIH0gZWxzZSBpZiAoYyA9PSAnfScpIHsKCSAgICAgICAgICAgIGNvdW50T3Blbi0tOwoJICAgICAgICAgICAgaWYgKGNvdW50T3BlbiA8IDApIHJldHVybiBmYWxzZTsKCSAgICAgICAgfQoJICAgIH0KCSAgICByZXR1cm4gY291bnRPcGVuID09IDA7Cgl9CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgewogICAgICAgIFN0cmluZyBzdHIxID0gInt9IHtcbiIgKwogICAgICAgICAgICAgICAgICAgICAgIiAgICB7fSB7fVxuIiArCiAgICAgICAgICAgICAgICAgICAgICAifSAvLyBQcm9wZXJseSBuZXN0ZWQiLAogICAgICAgICAgICAgICBzdHIyID0gInt7XG4iICsKICAgICAgICAgICAgICAgICAgICAgICIgICAge3t9fVxuIiArCiAgICAgICAgICAgICAgICAgICAgICAifSB7fSAvLyBOb3QgcHJvcGVybHkgbmVzdGVkIjsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oc3RyMSArICJcdCIgKyBpc1Byb3Blcmx5TmVzdGVkKHN0cjEpKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oc3RyMiArICJcdCIgKyBpc1Byb3Blcmx5TmVzdGVkKHN0cjIpKTsKICAgIH0KfQ==