关注
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static int count = 0; public static void main(String args[]) throws IOException {
String str; BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); while((str = bufferedReader.readLine() )!=null){ int tag[] = new int[str.length()]; for(int i=0; i<str.length(); ++i){ if(str.charAt(i) == '(')
tag[i] = 1; else tag[i] = 2; } count = 0; getCount(str, tag, 1); System.out.println(count); }
bufferedReader.close(); } public static void getCount(String s, int tag[], int m){ int tagCount = 0; for (int i=0; i<tag.length; i++){ if(tag[i] == 0)
tagCount++; } if(tagCount == tag.length) { count++; return; } if(m == 1){ for (int i=0; i<s.length(); i++){ if(tag[i] == 0) continue; if (s.charAt(i) == '('){
tag[i] = 0; getCount(s, tag, 2); tag[i] = 1; break; }
}
} else if(m == 2){ for (int i=0; i<s.length(); i++){ if(tag[i] == 0) continue; if(s.charAt(i) == ')'){
tag[i] = 0; if(isRight(s, tag)){ getCount(s,tag, 1); }
tag[i] = 2; }
}
}
} public static boolean isRight(String s, int tag[]){
Stack<Character> stack = new Stack<>(); for (int i=0; i<s.length(); ++i){ if(tag[i] == 0) continue; if(s.charAt(i) == '('){
stack.push(s.charAt(i)); } else if(s.charAt(i) == ')'){ if(stack.empty()) return false; if(stack.pop() != '(') return false; }
} if (stack.empty()) return true; else return false; }
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 聊聊这家公司值得去吗 #
231834次浏览 2180人参与
# 职场人,说说你的烦心事 #
8386次浏览 70人参与
# 你认为哪个岗位找工作最卷 #
11248次浏览 39人参与
# kpi面有什么特征 #
31141次浏览 201人参与
# 一人一个landing小技巧 #
78572次浏览 1122人参与
# 职场上哪些事情令人讨厌 #
16592次浏览 82人参与
# 秋招最大的收获是什么? #
33805次浏览 296人参与
# 职场吐槽大会 #
205127次浏览 1635人参与
# 大家每天通勤多久? #
41914次浏览 329人参与
# 为了找工作你投递了多少公司? #
8891次浏览 120人参与
# 小红书求职进展汇总 #
56043次浏览 483人参与
# 职场破防瞬间 #
234840次浏览 2125人参与
# 通信硬件牛牛的实习日记 #
7127次浏览 65人参与
# 总结:哪家公司面试体验感最好 #
47546次浏览 336人参与
# 找工作前vs找工作后的心路变化 #
9556次浏览 102人参与
# tplink提前批进度交流 #
162647次浏览 1378人参与
# 机械制造岗投递时间线 #
22673次浏览 345人参与
# 研究所VS国企,该如何选 #
180523次浏览 1768人参与
# 考公还是考研,你怎么选? #
26504次浏览 135人参与
# 硬件人你反向读研了吗 #
41732次浏览 630人参与