首页 > 代码库 > 括号的全部有效组合
括号的全部有效组合
输入n,打印n对括号中的全部有效组合。(即左右括号正确的配对)。
分析:水题,直接切。
1 /* 2 ID: y1197771 3 PROG: test 4 LANG: C++ 5 */ 6 #include<bits/stdc++.h> 7 #define pb push_back 8 #define FOR(i, n) for (int i = 0; i < (int)n; ++i) 9 #define dbg(x) cout << #x << " at line " << __LINE__ << " is: " << x << endl10 typedef long long ll;11 using namespace std;12 typedef pair<int, int> pii;13 const int maxn = 1e3 + 10;14 void dfs(int left, int right, string cur) {15 if(left == 0 && right == 0) {16 cout << cur << endl;17 return;18 }19 if(left > 0) {20 dfs(left - 1, right + 1, cur + "(");21 }22 if(right > 0) {23 dfs(left, right - 1, cur + ")");24 }25 }26 void solve() {27 int n;28 while(cin >> n) {29 dfs(n, 0, "");30 }31 }32 int main() {33 //freopen("test.in", "r", stdin);34 //freopen("test.out", "w", stdout);35 solve();36 return 0;37 }
括号的全部有效组合
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。