본문 바로가기

문제집5

[BOJ] 15655. N과 M (6) https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 고른 수열은 오름차순이어야 한다. www.acmicpc.net #include #include #include #include using namespace std; int N, M, numbers[8]; vector series; void dfs(int index, int cnt); void print(); int main() { cin.tie(0); ios::sync_with_stdio(0); cin >> N >>.. 2019. 4. 17.
[BOJ] 15652. N과 M (4) https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net #include #include #include using namespace std; int N, M; vector series; void dfs(int index, int cnt); void print(); int main() { cin.tie(0); ios::sync_with_stdio(0); cin >> N >> M; dfs(1, 0); return 0; } void dfs(int .. 2019. 4. 17.
[BOJ] 15651. N과 M (3) https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net N과 M (3)은 N과 M (1)과 달리 같은 수를 여러 번 골라도 된다는 조건이 있기 때문에 visited[] 배열을 관리할 필요가 없다는 차이점이 있다. #include #include #include using namespace std; int N, M; int numbers[7]; vector series; void dfs(int cnt); void print(); int main.. 2019. 4. 16.
[BOJ] 15650. N과 M (2) https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net N과 M (2)가 N과 M (1)의 다른 점은 N과 M (2)는 조합이고, N과 M (1)은 순열이라는 점이다. N과 M (2)가 (1)과 달리 조합인 이유는 '고른 수열은 오름차순이어야 한다.' 라는 조건 때문이다. 1부터 4까지의 숫자로 2개의 수를 골라 수열을 만들었을 때, '고른 수열은 오름차순이어야 한다.' 라는 조건이 없다면? 순열로 {1, 2}, {1, 3}, {1, 4}, .. 2019. 4. 16.