[BOJ][C++] ๋ฐฑ์ค€ 15649๋ฒˆ: N๊ณผ M (1)

2024. 10. 28. 15:30ยท๐Ÿ’ญ Problem Solving/C++

๋ฌธ์ œ

https://www.acmicpc.net/problem/15649

 

๋ฌธ์ œ ์ดํ•ด

  • 1๋ถ€ํ„ฐ N๊นŒ์ง€ ์ž์—ฐ์ˆ˜ ์ค‘์—์„œ ์ค‘๋ณต ์—†์ด M๊ฐœ๋ฅผ ๊ณ ๋ฅธ ์ˆ˜์—ด์„ ๋ชจ๋‘ ๊ตฌํ•œ๋‹ค.

 

๋ฌธ์ œ ํ’€์ด

๐Ÿ’กDFS๋ฅผ ์ด์šฉํ•œ ๋ฐฑํŠธ๋ž˜ํ‚น

    1๋ถ€ํ„ฐ N๊นŒ์ง€ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ํƒ์ƒ‰ํ•˜๋ฉฐ ์ค‘๋ณต ์—†์ด M๊ฐœ์˜ ์ˆ˜๋ฅผ ์„ ํƒํ•˜๊ณ  ์ถœ๋ ฅํ•œ๋‹ค.

  1. ์ข…๋ฃŒ ์กฐ๊ฑด
    : M๊ฐœ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ์„ ํƒํ–ˆ์„ ๋•Œ
  2. ํƒ์ƒ‰
    - 1๋ถ€ํ„ฐ N๊นŒ์ง€ ํƒ์ƒ‰์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
    - ์ˆ˜๋ฅผ ์ค‘๋ณตํ•ด์„œ ์„ ํƒํ•˜์ง€ ์•Š๋„๋ก ๋ฐฉ๋ฌธ ํ‘œ๊ธฐํ•œ๋‹ค.
    - ํƒ์ƒ‰ํ•œ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•  ๋ฐฐ์—ด์— ์‚ฝ์ž…ํ•œ๋‹ค.
    - ํƒ์ƒ‰์ด ๋๋‚œ ์ˆ˜๋ฅผ ๋ฐฐ์—ด์—์„œ ์ œ๊ฑฐํ•˜๊ณ  ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ˆ˜๋กœ ํ‘œ๊ธฐํ•œ๋‹ค.
  3. ํƒ์ƒ‰ ์ข…๋ฃŒ
    - ์„ ํƒํ•œ M๊ฐœ์˜ ์ˆ˜๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด์„ ์ถœ๋ ฅ ํ›„ ํƒ์ƒ‰์„ ์ข…๋ฃŒํ•œ๋‹ค.

 

์ฝ”๋“œ

#include<iostream>
#include<vector>

using namespace std;

int N, M;
vector<int> v;
vector<bool> visited;

void dfs(int cur) {
    // ์ข…๋ฃŒ ์กฐ๊ฑด: M๊ฐœ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ์„ ํƒํ•จ
    if (cur == M) {
        for (int i: v)
            cout << i << ' ';
        cout << '\n';
        return;
    }

    for (int i = 1; i <= N; i++) {
        if (!visited[i]) {
            visited[i] = true;
            v.push_back(i);

            dfs(cur + 1);

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

int main() {
    cin >> N >> M;
    visited.assign(N + 1, false);

    dfs(0);

    return 0;
}

'๐Ÿ’ญ Problem Solving > C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ][C++] ๋ฐฑ์ค€ 1789๋ฒˆ: ์ˆ˜๋“ค์˜ ํ•ฉ  (0) 2024.10.29
[BOJ][C++] ๋ฐฑ์ค€ 15650๋ฒˆ: N๊ณผ M (2)  (0) 2024.10.28
[SWEA][C++] 1289. ์›์žฌ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ณต๊ตฌํ•˜๊ธฐ  (0) 2024.10.16
[BOJ][C++] ๋ฐฑ์ค€ 2002๋ฒˆ: ์ถ”์›”  (0) 2024.06.14
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][C++] ๋„คํŠธ์›Œํฌ  (0) 2024.06.04
'๐Ÿ’ญ Problem Solving/C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [BOJ][C++] ๋ฐฑ์ค€ 1789๋ฒˆ: ์ˆ˜๋“ค์˜ ํ•ฉ
  • [BOJ][C++] ๋ฐฑ์ค€ 15650๋ฒˆ: N๊ณผ M (2)
  • [SWEA][C++] 1289. ์›์žฌ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ณต๊ตฌํ•˜๊ธฐ
  • [BOJ][C++] ๋ฐฑ์ค€ 2002๋ฒˆ: ์ถ”์›”
0=2.
0=2.
  • 0=2.
    0=2
    0=2.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (104)
      • ๐Ÿ“‚ Project (2)
        • Paint the City (2)
      • ๐Ÿ’ญ Problem Solving (42)
        • C++ (28)
        • Java (14)
      • ๐Ÿ“ Study (17)
        • React (1)
        • Java (16)
      • ๐Ÿ’ป CS (11)
        • ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ (2)
        • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (9)
      • ๐Ÿƒ‍โ™€๏ธ Activities (32)
        • Web Front-End Basic Study (6)
        • 42 Cursus (26)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์“ฐ๊ธฐ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    La Piscine
    react
    dfs
    makefile
    ๊ตฌํ˜„
    git
    unity
    ๋งต
    ์‹œ๋ฎฌ๋ ˆ์ด์…˜
    swea
    ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ
    ๋ฐฑ์ค€
    ํŠธ๋ฆฌ
    ๋ฐฑํŠธ๋ž˜ํ‚น
    github
    CSS
    knapsack
    ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    CS
    42๊ฒฝ์‚ฐ
    HTML
    .h
    dynamic programming
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    java
    VR
    ๋ธŒ๋ฃจํŠธํฌ์Šค
    BFS
    ์ •๋ ฌ
    C
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
0=2.
[BOJ][C++] ๋ฐฑ์ค€ 15649๋ฒˆ: N๊ณผ M (1)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”