728x90
https://www.acmicpc.net/problem/4811
4811๋ฒ: ์์ฝ
๋ฌธ์ 70์ธ ๋ฐ์ข ์ ํ ์๋ฒ์ง๋ ๋งค์ผ ๋งค์ผ ์ฝ ๋ฐ์์ ๋จน๋๋ค. ์๋ ์ ์์ด๋ ์ข ์ ํ ์๋ฒ์ง์๊ฒ ์ฝ์ด N๊ฐ ๋ด๊ธด ๋ณ์ ์ ๋ฌผ๋ก ์ฃผ์๋ค. ์ฒซ์งธ ๋ ์ ์ข ์๋ ๋ณ์์ ์ฝ ํ๋๋ฅผ ๊บผ๋ธ๋ค. ๊ทธ ๋ค์, ๊ทธ ์ฝ์ ๋ฐ
www.acmicpc.net
โจ ๋ด ์์ค ์ฝ๋
#include<iostream>
int N;
long long int dp[31][31] = { 0, };
using namespace std;
long long int pill(int w, int h) {
if (dp[w][h]) {
return dp[w][h];
}
if (w == 0) {
return 1;
}
dp[w][h] = pill(w-1, h + 1);
if (h > 0) {
dp[w][h] += pill(w, h - 1);
}
return dp[w][h];
}
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
while (1) {
cin >> N;
if (N == 0) {
break;
}
cout << pill(N, 0) << endl;
}
return 0;
}
๐ ๋ฌธ์ ํ์ด
w ๋ ์์ฝ 1๊ฐ h๋ ์์ฝ ๋ฐ ๊ฐ
w๊ฐ 1๊ฐ ์ค์ด๋ค๋ฉด h๋ 1๊ฐ ๋์ด๋๊ฒ ๋๋ค
โญ ๋ฌธ์ ํ์ด ๊ฒฐ๊ณผ

728x90