[BOJ] 15651. N과 M(3)
15 Apr 2026
Reading time ~1 minute
풀이
import java.util.Scanner;
public class Main {
static int arr[]=new int [8];
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
int M=sc.nextInt();
go(0,N,M);
}
public static void go(int index,int N,int M) {
if(index==M) {
StringBuilder sb=new StringBuilder();
for (int i = 0; i < M; i++) {
sb.append(arr[i]);
sb.append(" ");
}
System.out.print(sb+"\n");
return;
}
for(int i=1;i<=N;i++) {
arr[index]=i;
go(index+1,N,M);
}
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
int arr[] = new int [M];
System.out.println(go(N,M,0,arr));
}
public static StringBuilder go(int N, int M, int index, int[] arr) {
if(index == M) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < M; i++) {
sb.append(arr[i]);
sb.append(" ");
}
sb.append("\n");
return sb;
}
StringBuilder ans = new StringBuilder();
for(int i = 1; i <= N; i++) {
arr[index] = i;
ans.append(go(N, M, index + 1,arr));
}
return ans;
}
}