https://www.acmicpc.net/problem/13301
13301번: 타일 장식물
대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개
www.acmicpc.net
해석 및 팁
이 문제는 피보나치수열을 활용하는 문제입니다. n개의 타일로 구성된 직사각형의 둘레는 n번째 피보나치수열의 값의 4개와 n-1번째 피보나치수열의 값의 2개를 합한 값입니다. n이 80이 되면 값이 매우 커지기 때문에 BingInter을 활용하면 풀 수 있습니다,
Java 코드
import java.util.Scanner;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
BigInteger[] arr= new BigInteger[n+2];
arr[0] = new BigInteger("0");
arr[1] = new BigInteger("1");
for(int i = 2; i <= n; i++) {
arr[i] = arr[i-1].add(arr[i-2]);
}
System.out.println(arr[n].multiply(BigInteger.valueOf(4)).add(arr[n-1].multiply(BigInteger.valueOf(2))));
}
}
'백준' 카테고리의 다른 글
백준 1343 폴리오미노(Java) (0) | 2023.01.23 |
---|---|
백준 11576 Base Conversion(Java) (0) | 2023.01.23 |
백준 5635 생일(Java) (0) | 2023.01.23 |
백준 1652 누울 자리를 찾아라(Java) (1) | 2023.01.23 |
백준 2839 설탕 배달(Java) (0) | 2023.01.23 |