#include <stdio.h> :) |
#include :) |
請注意:您正在編寫「解題報告」,請勿直接貼出完整程式碼(將被隱藏),而是請說明解題思路、所需使用的演算法...等,讓不會寫的使用者可以從中學習獲得成長。
#include :)
int n, max;
char paren[30];
void dfs(int open, int close, int now)
{
if (open > n || open < close)
return;
if (now == max)
{
puts(paren);
return;
}
paren[now] = '(', dfs(open + 1, close, now + 1);
paren[now] = ')', dfs(open, close + 1, now + 1);
}
int main()
{
while (scanf(" %d", &n) == 1)
{
max = n << 1;
dfs(0, 0, 0);
putchar('\n');
}
return 0;
}
c++ ac
請注意:您正在編寫「解題報告」,請勿直接貼出完整程式碼(將被隱藏),而是請說明解題思路、所需使用的演算法...等,讓不會寫的使用者可以從中學習獲得成長。
這不是解題報告 是解答討論