-
백준 15663번 : N과 M (9) (C 언어)c c++ 언어 공부 2023. 5. 3. 14:12
https://www.acmicpc.net/problem/15663
15663번: N과 M (9)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net
Code:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#include <stdio.h>#include <stdlib.h>int value[10] = { 0, };int check[10] = { 0, };int compare(const void* a, const void* b){if (*(int*)a > *(int*)b) return 1;else if (*(int*)a < *(int*)b) return -1;else return 0;}void DFS(int arr[], int count, int n, int m){int i;int num=0;if (count == m){i = 0;while (i < m){printf("%d ", arr[i]);i++;}printf("\n");}else{i = 0;while (i < n){if (check[i] == 0&& num != value[i]){num = value[i];check[i] = 1;arr[count] = value[i];DFS(arr, count + 1, n, m);check[i] = 0;}i++;}}}int main(){int n, m;int arr[9];int x = 0;scanf("%d %d", &n, &m);for (int i = 0; i < n; i++){scanf("%d", &value[i]);}qsort(value, n, sizeof(int),compare);DFS(arr, 0, n, m);return 0;}cs 문제풀이:
재귀함수 연습문제이다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 9465번 : 스티커 (C 언어) (0) 2023.05.04 백준 15657번 : N과 M (8) (C 언어) (0) 2023.05.03 백준 15654번 : N과 M (5) (C 언어) (0) 2023.05.02 백준 2407번 : 조합 (C 언어) (0) 2023.05.02 백준 1051번 : 숫자 정사각형 (C 언어) (0) 2023.05.01