https://www.acmicpc.net/problem/1904
1904번: 01타일
지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이
www.acmicpc.net

해석 및 팁
먼저 n이 1이면 1, n이 2이면 11,00 n이 3이면 100,001,111 n이 4이면 1111,1100,0000,1001,0011 이므로 개수가 피보나치수열로 늘어난다는 것을 알 수 있습니다. 따라서 15746으로 나눈 값을 구해주면 됩니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[1000001];
arr[1] = 1;
arr[2] = 2;
for(int i = 3; i <= n; i++) {
arr[i] = (arr[i - 1] + arr[i - 2]) % 15746;
}
System.out.println(arr[n]);
}
}
'백준' 카테고리의 다른 글
백준 15654 N과 M (5)(Java) (0) | 2023.02.01 |
---|---|
백준 11659 구간 합 구하기 4(Java) (0) | 2023.02.01 |
백준 2108 통계학(Java) (0) | 2023.02.01 |
백준 14501 퇴사(Java) (0) | 2023.02.01 |
백준 15652 N과 M (4)(Java) (0) | 2023.02.01 |