[15654] N과 M (5)

!·2022년 7월 16일
0

내 코드

#include <bits/stdc++.h>
using namespace std;

int field[10];
int arr[10];
bool isused[10];
int n,m;

void recursive(int k)
{
    if(k==m)
    {
        for(int i =0;i<m;i++)
            cout << arr[i] << ' ';
        cout << '\n';
        return;
    }
    for(int i = 0;i<n;i++)
    {
        if(!isused[i])
        {
            arr[k] = field[i];
            isused[i] = 1;
            recursive(k+1);
            isused[i] = 0;
        }
            
        
    }
}

int main(void)
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin >> n >> m;
    for(int i =0;i<n;i++)
        cin >> field[i];
    sort(field,field+n);
    recursive(0);
}
  • sort 함수를 이용해 배열을 오름차순으로 정렬한 뒤, 백트래킹으로 해결하였다.
  • 정답코드도 매우 유사하여 따로 서술하지 않겠습니다.
profile
개발자 지망생

0개의 댓글