- Today
- Total
- μμμ λ ¬
- leetcode
- pytorch
- MST
- λ°±μ€
- λ°±μλ
- νλ‘κ·Έλλ¨Έμ€
- 벨λ§ν¬λ
- BFS
- CS
- λ°μ΄ν°λ² μ΄μ€
- ꡬν
- array
- java
- tree
- spring
- μλ£κ΅¬μ‘°
- μλ°
- μΈν΄
- λ¬Έλ²
- database
- Algorithm
- Graph
- μλ°μμ μ
- μ‘Έμ μν
- 그리λ
- λ€μ΅μ€νΈλΌ
- dp
- PS
- OOP
Partially Committed
[λ°±μ€ 1947] μ λ¬Ό μ λ¬ (JAVA) λ³Έλ¬Έ
https://www.acmicpc.net/problem/1947
n λͺ μ μ¬λμ΄ μλ‘μ μ λ¬Όμ κ΅ννλλ°, μκΈ°μ μ λ¬Όμ μκΈ° μμ μ΄ λ°μΌλ©΄ μλλ€.
μ΄λ¬ν μν©μ μμ μμ΄μ μ΄ν΄νκ³ μμΌλ©΄ μ½κ² ꡬν μ μλ€.
https://namu.wiki/w/%EC%99%84%EC%A0%84%EC%88%9C%EC%97%B4
μ°¨κ·Ό μ°¨κ·Ό μ νμμ λ μ¬λ €λ³΄μ.
dp[n] μ n λͺ μ μ¬λμ΄ μμ λ, λͺ¨μλ₯Ό κ΅νν μ μλ κ²½μ°μ μλΌκ³ κ°μ νμ.
μ¬λμ΄ 0λͺ μ΄κ±°λ 1 λͺ μΈ κ²½μ°μλ λΉμ°ν dp[n] = 0 μ΄λ€.
μ¬λμ΄ 2 λͺ μ΄λΌλ©΄ dp[n] = 1 μ΄λ€. μλ‘κ° μλ‘μ λͺ¨μλ₯Ό λ°λ κ²½μ°λ°μ μλ€.
n λͺ μ΄λΌκ³ μκ°νμ λ, κ·Έ μ€ 2λͺ (a,b)μ νΉμ μ§μ΄μ μκ°ν΄λ³΄μ.
a λ b μκ² μ λ¬Όμ μ£Όμλ€κ³ κ°μ νκ³ ,
b κ° μ λ¬Όμ μ λ¬ν μ μλ κ²½μ°λ λ κ°μ§ λ°μ μλ€.
1. b λ a μκ² μ£Όλ κ²½μ° (μ΄λ¬λ©΄ μλ°©ν₯μΌλ‘ κ΅νν¨)
>> κ·Έλ¬λ©΄ n λͺ μ€μμ 2 λͺ μ΄ λ°λ μ λ¬Όμ νμ λ κ²μ΄λ€. κ·Έλ¬λ―λ‘ dp[n-2]
2. b λ a κ° μλ λ€λ₯Έ μ¬λμκ² μ£Όλ κ²½μ°
>> κ·Έλ¬λ©΄ b κ° μ€ μ λ¬Όμ λ°μ μ¬λμ νμ λμ§ μμκ³ , b κ° a λ‘λΆν° μ λ¬Όμ λ°λλ€λ κ²λ§ νμ λλ€. dp[n-1]
(*) λ€μ λμ μ λ‘ λμκ°μ, n λͺ μ€μ a μ b λ₯Ό μ ννλ μν©μ μκ°ν΄λ³΄μ.
a λ 골λλ€κ³ μΉλ©΄, b λ n-1 λͺ μ€μ 1λͺ μ΄ λ κ²μ΄λ€. μ¦ b λ₯Ό κ³ λ₯΄λ κ²½μ°μ μλ n-1 μ΄λ€.
μ’ ν©νλ©΄ dp[n] = (n-1)*(dp[n-1]+dp[n-2]) μ κ°μ μ νμμ μ»μ μ μκ³ ,
μ΄λ₯Ό μ±μλ£μΌλ©΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μλ€.
β» λλ¨Έμ§ μ°μ°μ μνν λμλ, ν μ΄λΈμ κ°μ λ£κΈ° μ μ μνν΄μΌ νλ€λ κ²μ μ‘°μ¬νμ. μ€λ²νλ‘μ°κ° λ°μν΄λ²λ¦¬λ©΄ κ°μ΄ μλͺ» μ μ₯λλκΉ!
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
System.setIn(new FileInputStream("src/input.txt"));
Scanner sc = new Scanner(System.in);
long mod = 1000000000;
int n = sc.nextInt();
long [] dp = new long[1000001];
dp[0] = 0;
dp[1] = 0;
dp[2] = 1;
for(int i = 3; i <= n; i++){
dp[i] = (i-1)*(dp[i-2]+dp[i-1])%mod;
}
System.out.println(dp[n]);
}
}
'π₯ Algorithm || λ¬Έμ νμ΄ > PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€ 2580/14888/13305/10844] JAVA (0) | 2023.02.13 |
---|---|
[λ°±μ€ 1463] 1λ‘ λ§λ€κΈ° (JAVA) (0) | 2023.01.27 |
[λ°±μ€ 1256] μ¬μ (JAVA) (0) | 2023.01.26 |
[λ°±μ€ 1991] νΈλ¦¬ μν (JAVA) (0) | 2023.01.22 |
[λ°±μ€ 1068] νΈλ¦¬ (JAVA) (0) | 2023.01.22 |