import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
static BufferedReader br;
static BufferedWriter bw;
static int N,M;
static int[] arr;
public static void main(String[] args) throws IOException{
br = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer stk = new StringTokenizer(br.readLine());
N = Integer.parseInt(stk.nextToken());
M = Integer.parseInt(stk.nextToken());
arr = new int[M];
comb(0,1);
}
private static void comb(int i, int j) throws IOException{
// TODO Auto-generated method stub
if(i == M){
for(int i1 = 0; i1 < arr.length ; i1++ ) {
bw.write(arr[i1] + " ");
}
bw.write("\n");
bw.flush();
return;
}
for(int k = j ; k <= N ; k++) {
arr[i] = k;
comb(i+1, k);
}
}
}
오랜만에 다시 풀어본 순열, 조합 문제들
계속해서 반복해서 내 것으로 만들자
기초적인 arrayoutofindex 실수를 최대한 줄이는 방식으로 가보자!