[ 백준 11366번 ] Tons of Orcs, no Fibbin’

2025. 11. 8. 17:49·Algorithm/문제풀이

1. 문제

https://www.acmicpc.net/problem/11366

 

2. 풀이

앞선 두 년도의 오크 숫자가 누적해서 더해지는 구조로, 각 년도별 오크 수의 점화식을 세워보면 아래와 같다.

년도 오크 수
1 a + b
2 a + 2b
3 2a + 3b
4 3a + 5b
5 5a + 8b

a와 b의 차수가 각각 피보나치로 증가하는 구조이고, a의 차수는 b의 차수보다 하나 작은 것을 발견할 수 있다. 즉, 단일 피보나치 배열을 미리 생성해두고, 입력받은 쿼리에 따른 출력을 구현하면 O(N)에 처리할 수 있는 문제.

가장 중요한 조건이자 검토해야할 사항은 입/출력의 범위가 Integer를 넘어서지 않는다는 것과, 오크가 한 마리도 없는 경우는 어떻게 할 것인가 라는 점이다.

3. 소스코드

fun main() {
    val fibo = generateSequence(Pair(1L, 1L)) { (a, b) -> Pair(b, a + b) }
        .map { it.first }
        .take(47)
        .toList()

    while (true) {
        val (a, b, c) = readln().split(" ").map { it.toInt() }
        if (a == 0 && b == 0 && c == 0) {
            return
        }

        println(if (a == 0 && b == 0) 0 else fibo[c - 1] * a + fibo[c] * b)
    }

}
반응형
저작자표시 비영리 변경금지 (새창열림)

'Algorithm > 문제풀이' 카테고리의 다른 글

[ 백준 2635번 ] 수 이어가기  (0) 2025.11.09
[ 백준 25496번 ] 장신구 명장 임스  (0) 2023.04.15
[ 백준 4796번 ] 캠핑  (1) 2023.03.13
[ 백준 25513번 ] 빠른 오름차순 숫자 탐색  (0) 2023.03.12
[ 백준 12887번 ] 경로 게임  (1) 2023.03.12
'Algorithm/문제풀이' 카테고리의 다른 글
  • [ 백준 2635번 ] 수 이어가기
  • [ 백준 25496번 ] 장신구 명장 임스
  • [ 백준 4796번 ] 캠핑
  • [ 백준 25513번 ] 빠른 오름차순 숫자 탐색
갈닉
갈닉
중요한 건 엔지니어가 되겠다는 마음. 근데 이제 인문학을 곁들인.
    반응형
  • 갈닉
    KwanIk Devlog
    갈닉
  • 전체
    오늘
    어제
    • 분류 전체보기 (53)
      • Algorithm (41)
        • 알고리즘 개요 (8)
        • 문제풀이 (33)
      • Language (2)
        • Java (1)
        • Javascript (0)
        • Go (0)
        • Rust (1)
      • Framework (0)
        • Spring (0)
        • Spring Security (0)
        • Spring JPA (0)
      • Computer Science (1)
        • 프로그래밍 언어 (0)
        • 자료구조 (1)
        • 보안 (0)
      • DevOps (1)
        • MSA (0)
        • TDD (1)
        • DDD (0)
      • 개발서적 (3)
        • 오브젝트 (3)
      • Life (5)
        • 생각생각 (4)
        • 회고록 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

    • My Github
  • 공지사항

  • 인기 글

  • 태그

    객체지향
    알고리즘
    너비우선탐색
    backtracking
    비트마스크
    BruteForce
    백트래킹
    DP
    Algorithm
    백준
    오브젝트
    BFS
    시뮬레이션
    bitmask
    greedy
    boj
    욕심쟁이알고리즘
    구현
    java
    깊이우선탐색
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
갈닉
[ 백준 11366번 ] Tons of Orcs, no Fibbin’
상단으로

티스토리툴바