|
์ฝ๋ ์์ฑํ๊ธฐ
#include<iostream>
using namespace std;
int arr[10], num, depth;
bool check[10];
void go(int idx, int n, int d) { //idx = ํ์ฌ ์ธ๋ฑ์ค ์์น, n = num d = depth
if (idx == d) {//(๊ธฐ์ ์กฐ๊ฑด) ํ์ฌ ์ธ๋ฑ์ค๊ฐ depth๊น์ง ๋๋ฌ์ ์ถ๋ ฅ
for (int i = 0; i < d; i++) cout<<arr[i]+" ";
cout << "\n";
return;
}
for (int i = 1; i <= n; i++) {
if (!check[i]) {//i๋ฅผ ์ฌ์ฉํ์ง ์์๋ค๋ฉด
check[i] = true; //์ฌ์ฉ ์ฒดํฌ ํด์ฃผ๊ณ
arr[idx] = i;//์ถ๋ ฅํ ๋ฐฐ์ด idx๋ฒ์ i๋ฅผ ๋ฃ์ด์ค๋ค
go(idx + 1, n, d);//์ฌ๊ทํจ์ ํธ์ถ
check[i] = false;
arr[idx] = 0;//์ฌ์ฉ์ด ๋๋ฌ์ผ๋ฉด ๋ฐฐ์ด์ ๋ด์ฉ์ ์ง์์ฃผ๊ณ ์ฌ์ฉ์ฒดํฌ๋ ์ง์์ค๋ค
}
}
}
int main() {
cin >> num >> depth;
go(0, num, depth);
return 0;
}
C++
๋ณต์ฌ
|
์ฝ๋ ์ค๋ช
ํ๊ธฐ
์ค๋ณต์ ํ์ฉํ์ง ์๋ ์์ด ์์ ํ์ ๋ฌธ์ ์ด๋ฏ๋ก ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ์ฒดํฌํด์ฃผ๋ฉฐ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ ๋ฌธ์ ์ด๋ค
์ ์ฌ ๋ฌธ์ :
#include<iostream>
using namespace std;
int check[9], arr[9],n;
void go(int now) {
if (now == n) {
for (int i = 0; i < n; i++)cout << arr[i] << " ";
cout << "\n";
return;
}
for (int i = 1; i <= n; i++) {
if (!check[i]) {
check[i] = 1;
arr[now] = i;
go(now + 1);
check[i] = 0;
arr[now] = 0;
}
}
}
int main() {
cin >> n;
go(0);
}
C++
๋ณต์ฌ