[ C++ / 백준 15663번 ] N과 M (9)

2024. 12. 28. 18:59·프로그래밍 공부/백준 (C++)

 

 

앞의 문제들과 똑같이 풀이를 한다. 그러나 중복되는 수열을 여러 번 출력하면 안된다. 

 

따라서 set 을 사용하여 풀이했다. 처음에는 unordered_set 을 사용해야 하나 하고 생각했었지만 순회를 전부 돌기 때문에 상관이 없다는 것을 이내 깨달았다.

 

 

#include <iostream>
#include <algorithm>
#include <vector>
#include <set>


using namespace std;

vector<int> v;
vector<int> input_v(10);

set<vector<int>> s;

bool visited[10] = { false };

int N, M;

void dfs(int input)
{

    if (input == M)
    {
        s.insert(v);
        /*
        for (auto i : v)
        {
            cout << i << " ";
            
        }
        cout << '\n';
        */
        return;
    }
    else
    {
        for (int i = 0; i < input_v.size(); i++)
        {
            if (!visited[i])
            {
               //if (!v.empty() && input_v[i] < v.back()) continue;
               
                visited[i] = true;
                
                v.push_back(input_v[i]);

                dfs(input + 1);

                visited[i] = false;
                v.pop_back();



            }
        }
    }
    
        


}

int main() {

    cin >> N >> M;

    input_v.resize(N);
    
    for (int i = 0; i < N; i++)
        cin >> input_v[i];


    sort(input_v.begin(), input_v.end());

    //input_v.erase(unique(input_v.begin(), input_v.end()), input_v.end());
    //for (auto i : input_v)
    //    cout << i << " ";
    //cout << endl;
   
    dfs(0);
 
    for (auto i : s)
    {
        for (auto j : i)
        {
            cout << j << " ";
        }
        cout << '\n';
    }
        

    return 0;
}

 

'프로그래밍 공부 > 백준 (C++)' 카테고리의 다른 글

[C++ / 백준 1759번] 암호 만들기  (0) 2025.01.05
[C++ / 백준 10972번] 다음 순열  (0) 2024.12.29
[백준 15649번, 15650번 / C++] N과 M  (0) 2024.12.19
[C++ / 백준 14500번] 테트로미노  (0) 2024.12.07
[C++ / 백준 3085번] 사탕 게임  (0) 2024.12.05
'프로그래밍 공부/백준 (C++)' 카테고리의 다른 글
  • [C++ / 백준 1759번] 암호 만들기
  • [C++ / 백준 10972번] 다음 순열
  • [백준 15649번, 15650번 / C++] N과 M
  • [C++ / 백준 14500번] 테트로미노
Rocketbabydolls
Rocketbabydolls
Rocketbabydolls
  • Rocketbabydolls
    With The Lights Out
    Rocketbabydolls
  • 전체
    오늘
    어제
    • 전체글 (183) N
      • 프로그래밍 공부 (117)
        • C (16)
        • Jumping into C++ (9)
        • MFC (C++) (1)
        • 자료구조 (1)
        • 알고리즘 (1)
        • 백준 (C++) (74)
        • 핸즈온 머신러닝 2판 (6)
        • Unseen 3기 준비 (4)
        • 원티드 포텐업 게임 개발자 양성과정 2기 (4)
      • 언리얼엔진5 (62) N
        • [Part1] 이득우의 언리얼 프로그래밍 (12)
        • [Part2] 이득우의 언리얼 프로그래밍 (2)
        • [Part2 복습] 이득우의 언리얼 프로그래밍 (3)
        • [Part3] 이득우의 언리얼 프로그래밍 (14)
        • [Part4] 이득우의 언리얼 프로그래밍 (0)
        • FPS 게임 1인 프로젝트 (6)
        • 각종 지식 (10) N
        • 블루프린트 Paper2D 로 게임 만들기 (14)
        • 팀 프로젝트 (1)
      • 일상 (1)
      • ETC (1)
        • 맥북 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      언리얼엔진5 fps 프로젝트
      실전C프로그래밍
      핸즈온 머신러닝
      언리얼엔진 중재자 패턴
      c언어
      언리얼엔진
      오블완
      실전 C 프로그래밍
      언리얼엔진 옵저버 패턴
      언리얼엔진 디자인 패턴
      C언어 실습문제
      언리얼엔진5
      실전 C프로그래밍 나중채
      실전 C프로그래밍 실습문제
      실전C프로그래밍 나중채
      c++ 17298
      실전 C프로그래밍
      핸즈온 머신러닝 2판
      실전C프로그래밍 실습문제
      티스토리챌린지
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    Rocketbabydolls
    [ C++ / 백준 15663번 ] N과 M (9)
    상단으로

    티스토리툴바