์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

๐Ÿ“ [S3_15649] N๊ณผM(1)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
	static StringTokenizer st;
	static int N, M;
	static boolean[] v;
	static StringBuilder sb;
	static int[] arr;
	public static void main(String[] args) throws IOException {
		sb = new StringBuilder();
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		st = new StringTokenizer(br.readLine(), " ");
		
		N = Integer.parseInt(st.nextToken());
		
		M = Integer.parseInt(st.nextToken());
		
		arr = new int[M];
		v= new boolean[N+1];
		
		perm(0);
		
		System.out.println(sb);
		
	}
	
	// ์ˆœ์—ด 
	static void perm(int ind) {
		// ๊ธฐ์ €์กฐ๊ฑด
		if(ind == M) {
			for(int i=0; i<M;i++) {
				sb.append(arr[i]).append(" ");
			}
			sb.append("\n");
			return;
		}
		
		for(int i=1;i<N+1;i++) {
		if(v[i]) {
			continue;
		}
		else {
			v[i] = true;
			arr[ind] = i;
			perm(ind+1);
			v[i] = false;
		}
		}
	}
}

๐Ÿค” ๋‚˜์˜ ์ƒ๊ฐ

์ด ๋ฌธ์ œ๋Š” ์ˆœ์„œ๊ฐ€ ์ƒ๊ด€์žˆ๋Š” ๋ฐฐ์—ด์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. nPm ์ด๋‹ค.
์ˆœ์—ด์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๊ทธ๋ž˜์„œ int ๋ฐฐ์—ด๊ณผ boolean ๋ฐฐ์—ด์„ ์ด์šฉํ•ด ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌํ•ด์ฃผ์—ˆ๋‹ค.
์ˆœ์—ด์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์—ฌ๊ธฐ์— ์žˆ๋‹ค.
๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์ œ์ด๋‹ค.

ํƒœ๊ทธ: , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: