반응형
이 문제를 풀기 앞서 아래 문제를 푸는 것을 추천한다.
N과 M(2)문제와 다른점
둘째 줄에 N개의 수가 직접 주어지는 것이다. 출력 부분에서 수열은 사전 순으로 증가하는 순서로 출력되므로 처음부터 Sort해주었다.
int[] input = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
N = input[0];
M = input[1];
array = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
Array.Sort(array);
코드 전문
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace baek2
{
class Program
{
static int N, M;
static bool[] visited = new bool[9];
static int[] array = new int[10001];
static int[] answer = new int[10001];
static StringBuilder sb = new StringBuilder();
public static void dfs(int at, int depth)
{
if(depth == M)
{
for(int i = 0; i < M; i++)
{
sb.Append(answer[i]).Append(' ');
}
sb.AppendLine();
return;
}
for(int i = at; i <= N; i++)
{
if(!visited[i])
{
visited[i] = true;
answer[depth] = array[i-1];
dfs(i, depth + 1);
visited[i] = false;
}
}
}
public static void Main()
{
int[] input = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
N = input[0];
M = input[1];
array = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
Array.Sort(array);
dfs(1,0);
Console.Write(sb.ToString());
}
}
}
반응형
'코딩테스트 준비 > 백준 C#' 카테고리의 다른 글
백준 C# - 15663 +) 풀이 (0) | 2024.02.21 |
---|---|
백준 C# - 15657 +) 풀이 (0) | 2024.02.19 |
백준 C# - 15654 +) 풀이 (0) | 2024.02.19 |
백준 C# - 15652 +) 풀이 (0) | 2024.01.19 |
백준 C# - 15651 +) 풀이 (0) | 2024.01.19 |
댓글