본문 바로가기
Algorithm/Baekjoon

[백준/BOJ] 17213번 - 과일 서리 (C++)

by shine-jung 2021. 8. 4.
반응형

문제 링크

 

코딩하기 전 생각하기

/*
확률 문제이다. 펜과 종이를 꺼내야겠다.
*/

 

 


 

코드

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
    long long n, r, x, y, x_i, y_i; // 분자: x, 분모: y
    cin >> n >> r;
    r -= n;
    x = 1, x_i = n + r - 1;
    y = 1, y_i = n - 1;
    for ( int i = 0; i < n - 1; i++ ) {
        x *= x_i;
        y *= y_i;
        x_i--;
        y_i--;
    }
    cout << x / y;
}

 


 

느낀점

 

고등학생 때 확통시간에 배웠던 중복조합이다.

그때 내가 코딩을 알았다면 컴퓨터가 나 대신에 숙제했을텐데..

곱셈 과정에서 큰 수가 만들어지기 때문에 long long 자료형을 사용하였고,

곱셈을 더 적게하기 위해 n+r-1 C r 대신에 n+r-1 C n-1 식을 썼다.

 

(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.

댓글 환영합니다!

반응형

댓글