다이나믹 프로그래밍
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.HashMap; import java.util.StringTokenizer; public class Main { public static void main(String[] args) { FastScanner sc = new FastScanner(); int n = sc.nextInt(); int[] ar = new int[1001]; ar[1] = 1; ar[2] = 2; ar[3] = 3; ar[4] = 5; for(int i=5;i<=n;i++){ ar[i] = (ar[i-1]+ar[i-2])%10007; } System.out.println(ar[n]%10007); } } class FastScanner { BufferedReader br; StringTokenizer st; public FastScanner() { br = new BufferedReader(new InputStreamReader(System.in)); } String nextToken() { while (st == null || !st.hasMoreElements()) { try { st = new StringTokenizer(br.readLine()); } catch (IOException e) { throw new RuntimeException(e); } } return st.nextToken(); } int nextInt() { return Integer.parseInt(nextToken()); } long nextLong() { return Long.parseLong(nextToken()); } double nextDouble() { return Double.parseDouble(nextToken()); } String nextLine() { String str = ""; try { str = br.readLine(); } catch (IOException e) { e.printStackTrace(); } return str; } } | cs |
'알고리즘' 카테고리의 다른 글
[BOJ-2609]최대공약수와 최소공배수 (0) | 2020.06.11 |
---|---|
[BOJ-2755]숫자의 개수 (0) | 2020.06.10 |
[2579번] 계단 오르기 (0) | 2017.12.12 |
[1463번] 1로 만들기 (0) | 2017.12.12 |
[1003번] 피보나치 수열 (0) | 2017.12.12 |