
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
//백준
public class Main {
static int[] array;
static boolean[] visited;
static int size;
public static void dfs(int start, int depth) {
if(depth==6) {
for(int i=0; i<size; i++) {
if(visited[i]==true) {
System.out.print(array[i]+" ");
}
}System.out.println();
}
for(int i=start; i<size; i++) {
visited[i]=true;
dfs(i+1,depth+1);
visited[i]=false;
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
size = Integer.parseInt(st.nextToken());
if(size==0) {
break;
}
array = new int[size];
visited = new boolean[size];
for (int i = 0; i < size; i++) {
array[i] = Integer.parseInt(st.nextToken());
}
dfs(0,0);
System.out.println();
}
}
}
i가 start 까지 증가하다보니 거기서 차이가 나기 시작한다.
해당 문제는 다시 풀어보는게 좋을듯 하다.
'알고리즘(BOJ) > Silver' 카테고리의 다른 글
백준 - 1260(DFS&BFS) (0) | 2023.01.21 |
---|---|
2667 - 단지번호붙이기 (BFS) (0) | 2023.01.11 |
10451 - 순열 사이클 (순열) (0) | 2022.12.29 |
1010 - 다리 놓기 (조합) (0) | 2022.12.29 |
2178 - 미로찾기 (BFS) (0) | 2022.12.26 |