๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/CodeUp

3701 : ํŒŒ์Šค์นผ ์‚ผ๊ฐํ˜•

by ์•ˆ์ฃผํ˜• 2022. 1. 16.

๋ฌธ์ œ

 

ํŒŒ์Šค์นผ ์‚ผ๊ฐํ˜•

๋ฐฐ์—ด์˜ ๊ฐ’์ด ์ปค์ง€๋ฏ€๋กœ ๋ฐฐ์—ด์€ long long ์œผ๋กœ ์„ ์–ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. nCr์˜ ์ ํ™”์‹์˜ ์›๋ฆฌ๋„ ์ด ์‚ผ๊ฐํ˜•์˜ ์›๋ฆฌ์™€ ๋˜‘๊ฐ™์Šต๋‹ˆ๋‹ค. nCr = n-1Cr + n-1Cr-1

codeup.kr

์ฝ”๋“œ

#include <iostream>

using namespace std;

long long dp[51][51];
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    int n; cin>>n;
    
    for(int i=0; i<=n; i++){
        dp[i][0]=1;
    }
    for(int i=1; i<=n; i++){
        for(int k=1; k<=n; k++){
            dp[i][k] = dp[i-1][k-1]+dp[i-1][k];
        }
    }
    for(int i=0; i<n; i++){
        for(int k=0; k<=i; k++){
            cout<<dp[i][k]<<' ';
        }
        cout<<'\n';
    }
    
}

 

ํ’€์ด

ํŒŒ์Šค์นผ์˜ ์‚ผ๊ฐํ˜•์˜ ์ ํ™”์‹์„ ์ด์šฉํ•˜๋ฉด dp[n][c] = dp[n-1][c-1]+dp[n-1][c]๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ œ์ผ ์ฒ˜์Œ์— c๊ฐ€ 0์ผ ๋•Œ ์ „๋ถ€ 1๋กœ ์ดˆ๊ธฐํ™”๋ฅผ ํ•ด ์ค€ ๋’ค, ์ ํ™”์‹์„ ๋Œ๋ฆฌ๊ณ  ์ถœ๋ ฅ๋งŒ ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€