diff --git "a/dkswndms4782/dynamic_programming_1/1010_\353\213\244\353\246\254\353\206\223\352\270\260.cpp" "b/dkswndms4782/dynamic_programming_1/1010_\353\213\244\353\246\254\353\206\223\352\270\260.cpp" new file mode 100644 index 0000000..ceac240 --- /dev/null +++ "b/dkswndms4782/dynamic_programming_1/1010_\353\213\244\353\246\254\353\206\223\352\270\260.cpp" @@ -0,0 +1,36 @@ +#include +#include +using namespace std; + +unsigned long long factorial[31] = { 1, }; +void make_factoral() { + factorial[1] = 1; + for (int i = 2; i <= 15; i++) { + factorial[i] = factorial[i - 1] * i; + } + return; +} + +unsigned long long num(int m,int n) { + unsigned long long tmp = m; + for (int i = m - 1; i > m - n; i--) + tmp *= i; + return tmp; +} + +int main() { + ios_base::sync_with_stdio(false); + cin.tie(NULL); + int T, n, m; cin >> T; + make_factoral(); + while (T--) { + cin >> n >> m; + if (n == m) { + cout << "1\n"; + continue; + } + if (n > (m-n)) + n = m - n; + cout << num(m,n) / factorial[n] << "\n"; + } +} \ No newline at end of file diff --git "a/dkswndms4782/dynamic_programming_1/2748_\355\224\274\353\263\264\353\202\230\354\271\230\354\210\2302.cpp" "b/dkswndms4782/dynamic_programming_1/2748_\355\224\274\353\263\264\353\202\230\354\271\230\354\210\2302.cpp" new file mode 100644 index 0000000..28dc4f8 --- /dev/null +++ "b/dkswndms4782/dynamic_programming_1/2748_\355\224\274\353\263\264\353\202\230\354\271\230\354\210\2302.cpp" @@ -0,0 +1,19 @@ +#include +using namespace std; + +long long int arr[91] = {0,}; +long long int dp(int n) { + if (n < 2) + return n; + if (arr[n] > 0) + return arr[n]; + arr[n] = dp(n - 1) + dp(n - 2); + return arr[n]; +} + +int main() { + ios_base::sync_with_stdio(false); + cin.tie(NULL); + int n; cin >> n; + cout << dp(n); +}