#include <bits/stdc++.h>
using namespace std;
int n;
char a[26];
void dfs(int l, int r, int sum){
if (r>l || l>n){
return;
}
if (sum == n<<1){
puts (a);
cout << '\n';
return;
}
a[sum] = '(';
dfs (l+1, r, sum+1);
a[sum] = ')';
dfs (l, r+1, sum+1);
}
int main(){
while (cin >> n){
dfs (0, 0, 0);
}
return 0;
}
加了
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
沒加
AC了
#include
using namespace std;
int n;
char a[26];void dfs(int l, int r, int sum){
if (r>l || l>n){
return;
}
if (sum == n<<1){
puts (a);
cout << '\n';
return;
}
a[sum] = '(';
dfs (l+1, r, sum+1);
a[sum] = ')';
dfs (l, r+1, sum+1);
}int main(){
while (cin >> n){
dfs (0, 0, 0);
}
return 0;
}加了
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);沒加
AC了
用了ios::sync_with_stdio(false);就不能再混用iostream與stdio的函式了,你cout跟puts都使用會出問題,兩個選一個吧
#include
using namespace std;
int n;
char a[26];void dfs(int l, int r, int sum){
if (r>l || l>n){
return;
}
if (sum == n<<1){
puts (a);
cout << '\n';
return;
}
a[sum] = '(';
dfs (l+1, r, sum+1);
a[sum] = ')';
dfs (l, r+1, sum+1);
}int main(){
while (cin >> n){
dfs (0, 0, 0);
}
return 0;
}加了
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);沒加
AC了
用了ios::sync_with_stdio(false);就不能再混用iostream與stdio的函式了,你cout跟puts都使用會出問題,兩個選一個吧
小的已查過它的功用,謝謝🙏