본문 바로가기

Algorithm/Dynamic Programming

Baekjoon 17358 복불복으로 지구 멸망

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