🧩PS/🥈Nomal
[C/C++] 백준 15664번 - N과 M (10)
Cocoon_
2021. 1. 15. 03:58
반응형
<코드>
#include<iostream>
#include<algorithm>
using namespace std;
bool check[9];
int seq[9], ans[9];
int N, M;
void dfs(int x, int cnt)
{
if (cnt == M)
{
for (int i = 0; i < M; i++)
{
cout << ans[i] << " ";
}
cout << '\n';
return;
}
int tmp = -1;
for (int i = x; i < N; i++)
{
if (!check[i] && tmp != seq[i]) // tmp는 직전에 골랐던 수
{
check[i] = true;
ans[cnt] = seq[i];
tmp = seq[i];
dfs(i, cnt + 1);
check[i] = false;
}
}
}
int main()
{
cin >> N >> M;
for (int i = 0; i < N; i++)
cin >> seq[i];
sort(seq, seq + N); // 오름차순 정렬
dfs(0, 0);
}
15664번: N과 M (10)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net
반응형