-
회장, 부회장 뽑기코딩/C언어 2019. 9. 17. 16:00반응형12345678910111213141516171819202122232425262728293031323334353637383940#include <stdio.h>#include <stdlib.h>void pick(char people[][20], int itemSize, int* bucket, int bucketSize, int k) { //중복 조합int i, j, lastIndex, smallest, item, flag;if (k == 0) {for (i = 0; i < bucketSize; i++) {printf("%s ", people[bucket[i]]);}printf("\n");return;}lastIndex = bucketSize - k - 1; // 가장 최근에 뽑힌 수가 저장된 위치 indexsmallest = 0;for (item = smallest; item < itemSize; item++) {flag = 0;for (j = 0; j <= lastIndex; j++)if (bucket[j] == item)flag = 1;if (flag == 1)continue;bucket[lastIndex + 1] = item;pick(people, itemSize, bucket, bucketSize, k - 1);}}int main(void){char people[][20] = { "공유", "김수현", "송중기", "지성", "현빈" };int * bucket, num;scanf("%d", &num);bucket = (int *)malloc(sizeof(int) * num);pick(people, 5, bucket, num, num);}
cs 결과:
반응형