반응형
문제
https://www.acmicpc.net/problem/9461
9461번: 파도반 수열
오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의
www.acmicpc.net
풀이
다이나믹 프로그래밍을 사용하여 풀 수 있는 문제입니다.
이 문제는 그림을 보고 점화식을 구했지만.. 증명하지는 못했습니다.
그림을 봤을 때, f(n)=f(n−1)+f(n−5) 라는 것을 확인했습니다.
수열을 보면 f(n)=f(n−2)+f(n−3)도 될 것 같은데...
결론으로는 두 점화식 다 정답 처리가 되더라구요..
소스코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var cache = [Int](repeating: 0, count: 101) | |
cache[1] = 1 | |
cache[2] = 1 | |
cache[3] = 1 | |
cache[4] = 2 | |
cache[5] = 2 | |
for i in 6...100 { | |
cache[i] = cache[i - 1] + cache[i - 5] | |
} | |
let t = Int(readLine()!)! | |
for _ in 0..<t { | |
let n = Int(readLine()!)! | |
print(cache[n]) | |
} |
후기
규칙을 찾아서 풀긴 했는데.. 증명하지는 못했던 문제..
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 1149 RGB거리 (Swift) (0) | 2023.04.06 |
---|---|
[BOJ] 백준 1912 연속합 (Swift) (0) | 2023.04.06 |
[BOJ] 백준 1904 01타일 (Swift) (0) | 2023.04.05 |
[BOJ] 백준 9184 신나는 함수 실행 (Swift) (0) | 2023.04.05 |
[BOJ] 백준 24416 알고리즘 수업 - 피보나치 수 1 (Swift) (0) | 2023.04.05 |