본문 바로가기

카테고리 없음

15651 N과 M (3)

엥 뭐지..? 이게 1번이 되어야 하는게 아닌가? 걍 다 출력하는데???

뭐지???

왜지??

#include <iostream>
#include <vector>

using namespace std;

void    print_vector(int m, vector<int> v)
{
    for (int i = 0; i < m; i++)
    {
        printf("%d ", v[i]);
    }
    printf("\n");
}


void    find_sequence(int index, int n, int m, vector<int> v)
{
    if (index == m)
        print_vector(m, v);
    else
    {
        for (int i = 1; i <= n; )
        {
            v[index] = i++;
            find_sequence(index + 1, n, m, v);
        }
    }
}

int     main()
{
    int n, m;
    scanf("%d %d", &n, &m);
    vector<int> v(m, 0);
    
    find_sequence(0, n, m, v);
}

 


#include <iostream>
#include <vector>

using namespace std;

bool    visited[10];
vector  <int> v;

void    select(int n, int k)
{
    if (k == 0)
    {
        for (auto& s : v)
            printf("%d ", s);
        printf("\n");
        return ;
    }
    for (int i = 1; i <= n; i++)
    {
        // if (visited[i])
        //     continue ;
        
        visited[i] = true;
        v.push_back(i);
        
        select(n, k - 1);
        
        v.pop_back();
        visited[i] = false;
    }
}

int     main()
{
    int n, m;

    scanf("%d %d", &n, &m);
    select(n, m);
    return (0);
}

주석 친 부분이 방문했는지 체크하는 부분이라 뺐다