본문 바로가기
코드업(codeup)/C

[코드업(codeup)/C]코드업(codeup) 2651 : 극장 좌석 배치 1 C언어

by starfish22 2022. 3. 3.
728x90

▶문제 : 극장 좌석 배치 1 (codeup.kr)

 

극장 좌석 배치 1

- 예제에 대한 설명  좌석 4개중 2개를 고른 방법(검은색은 사람이 앉은 자리를 의미함)은 다음과 같이 6가지가 존재한다. ◯◯●●, ◯●◯●, ●◯◯●, ◯●●◯, ●◯●◯, ●●◯◯ 

codeup.kr

 

▶코드 작성

#include <stdio.h>

int func(n, r)
{
    if (r == 1) return n;// nC1 = n
    if (n == 0 || n == 1 || n == r) return 1;// nCn = 1Cr = 0Cr = 1
    return func(n - 1, r - 1) + func(n - 1, r);// (n-1)C(r-1) + (n-1)Cr
}

int main()
{
    int n, k;
    scanf("%d %d", &n, &k);

    printf("%d", func(n, k));

    return 0;
}

 

▶해석

파스칼의 삼각형 점화식 nCr=(n-1)C(r-1)+(n-1)Cr 을 이용하여 재귀 함수로 작성하였다.

728x90

댓글