第一题暴力法。我用java写爆内存 AC了90% import java.util.Scanner; public class Main { static int sum = 0; public static void main(String[] args) { Scanner in = new Scanner(System.in); String s = in.nextLine(); if (s == null || s.length() <= 0) System.out.println(0); else { count(s); System.out.println(sum); } in.close(); } public static void count(String str) { if ("".equals(str) || "()".equals(str)) { sum++; return; } char[] tmp = str.toCharArray(); for (int i = tmp.length - 1; i > 0; i--) { if (tmp[i] == ')' && isK(tmp, i)) { String st = ""; String st2 = ""; if (i > 1) st = new String(tmp, 1, i - 1); if (i < str.length()) st2 = str.substring(i + 1, str.length()); String next = st + st2; if ("()".equals(next) || "".equals(next)) { sum++; continue; } count(next); } } } public static boolean isK(char[] str, int s) { int lef = 0, rig = 0; for (int i = 1; i < str.length; i++) { if (i == s) continue; if (str[i] == '(') lef++; else if (str[i] == ')') rig++; } if (lef == rig) return true; return false; } }
点赞 评论

相关推荐

线性袋鼠:别听牛客上一帮伪人在那说,小厂不能去,必须去大厂,听他们放屁吧。学院本+一些一本最终的归宿就是中小厂,大厂那么好进吗
我的实习日记
点赞 评论 收藏
分享
水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务