码迷,mamicode.com
首页 > 其他好文 > 详细

括号的全部有效组合

时间:2016-09-30 00:58:17      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:

输入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 << endl
10 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 }

 

括号的全部有效组合

标签:

原文地址:http://www.cnblogs.com/y119777/p/5921385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!