문제 설명
- 문제 링크
- Algorithm:
Mathematics
,Combinatorics
- 난이도: Silver 4 ('24. 8. 28.)
- 출처: 랜덤 마라톤 코스 13 C번
풀이
- 조건1: 한 테이블에 2명이 앉을 수 있다.
- 조건2: 좌석과 테이블 순서는 중요하지 않다.
- 예제 2
n = 4 (ab), (cd) (ac), (bd) (ad), (bc)
- 가정1: 순서가 상관 없으니 a를 무조건 첫번째 테이블에 앉힌다고 가정하자
- 추론1: 첫번째 테이블에 앉을 수 있는 경우의 수는 $(n-1)$개이다.
- a 이외의 인원들이 a와 같이 앉는경우
- 추론2: 두번째 테이블에 앉을 수 있는 경우의 수는 $(n-3)$개이다.
- 결론: $ \prod_{i=1}^{\frac{N}{2}}{N - (2i - 1)}$
코드
// Baekjoon31474.cpp
#include <iostream>
using namespace std;
using ll = long long;
int main(void) {
int n;
cin >> n;
ll ans = 1LL;
for (int i = 1; i <= n; i += 2)
ans *= n - i;
cout << ans << '\n';
return 0;
}
잡담
'Problem Solving > 랜덤 마라톤' 카테고리의 다른 글
Baekjoon 15903: 카드 합체 놀이 (4) | 2024.09.02 |
---|---|
Baekjoon 14430: 자원 캐기 (0) | 2024.08.27 |
Baekjoon 1340: 연도 진행바 (0) | 2024.08.27 |