Link https://www.acmicpc.net/problem/17358
결과 1988 KB / 0 ms
언어 C++ 17
풀이
규칙을 찾는 문제처럼 보이지만 단순히 경우의 수를 구하는 문제이다.
n개의 포트중 2개씩 사용할 수 없게 한다면 다음번에 고를 수 있는건 n-2개가 된다.
그 점을 이용해 MOD로 나눈 나머지를 기억해 가며 정답을 갱신하면 된다.
소스코드
#include <iostream>
using namespace std;
const long long MOD = 1e9 + 7;
int main()
{
long long n; cin >> n;
long long res = 1;
while (n) {
res *= n - 1;
res %= MOD;
n -= 2;
}
cout << res;
return 0;
}
'Algorithm > Dynamic Programming' 카테고리의 다른 글
Baekjoon 2096 내려가기 (0) | 2019.11.11 |
---|---|
Baekjoon 2748 피보나치 수 2 (0) | 2019.11.11 |
Baekjoon 11048 이동하기 (0) | 2019.11.11 |
Baekjoon 3908 서로 다른 소수의 합 (0) | 2019.11.11 |
Baekjoon 17291 새끼치기 (0) | 2019.08.21 |