[Gold III] Title: 선물 전달, Time: 444 ms, Memory: 72100 KB -BaekjoonHub
This commit is contained in:
32
백준/Gold/1947. 선물 전달/README.md
Normal file
32
백준/Gold/1947. 선물 전달/README.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# [Gold III] 선물 전달 - 1947
|
||||
|
||||
[문제 링크](https://www.acmicpc.net/problem/1947)
|
||||
|
||||
### 성능 요약
|
||||
|
||||
메모리: 72100 KB, 시간: 444 ms
|
||||
|
||||
### 분류
|
||||
|
||||
조합론, 다이나믹 프로그래밍, 수학
|
||||
|
||||
### 제출 일자
|
||||
|
||||
2025년 3월 4일 20:38:39
|
||||
|
||||
### 문제 설명
|
||||
|
||||
<p>이번 ACM-ICPC 대회에 참가한 모든 사람들은 선물을 하나씩 준비했다.</p>
|
||||
|
||||
<p>대회가 끝나고 난 후에 각자 선물을 전달하려고 할 때, 선물을 나누는 경우의 수를 구하는 프로그램을 작성하시오.</p>
|
||||
|
||||
<p>모든 사람은 선물을 하나씩 받으며, 자기의 선물을 자기가 받는 경우는 없다.</p>
|
||||
|
||||
### 입력
|
||||
|
||||
<p>첫째 줄에 ACM-ICPC 대회에 참가한 학생의 수 N(1 ≤ N ≤ 1,000,000)이 주어진다.</p>
|
||||
|
||||
### 출력
|
||||
|
||||
<p>경우의 수를 1,000,000,000으로 나눈 나머지를 첫째 줄에 출력한다.</p>
|
||||
|
||||
16
백준/Gold/1947. 선물 전달/선물 전달.py
Normal file
16
백준/Gold/1947. 선물 전달/선물 전달.py
Normal file
@@ -0,0 +1,16 @@
|
||||
import sys
|
||||
|
||||
input = sys.stdin.readline
|
||||
|
||||
N = int(input())
|
||||
|
||||
D = [0] * (N+5)
|
||||
D[0] = 0
|
||||
D[1] = 0
|
||||
D[2] = 1
|
||||
D[3] = 2
|
||||
|
||||
for i in range(3, N+1):
|
||||
D[i] = ((i-1) * (D[i-2] + D[i-1]))%1000000000
|
||||
|
||||
print(D[N])
|
||||
Reference in New Issue
Block a user