Algorithm/BOJ

백준 1904번 C++

poopooreum 2023. 7. 30. 15:37
반응형
백준 1904번 01타일

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

1904번: 01타일

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

www.acmicpc.net



정답 코드

#include<iostream>
using namespace std;
unsigned long long dp[1000001] = { 0,1,2,3 };
int main() {
	int n;
	cin >> n;
	if (n == 1 || n == 2)
		cout << n;
	else {
		for (int x = 3; x <= n; x++)
			dp[x] = (dp[x - 2] + dp[x - 1])%15746;
		cout << dp[n];
	}
}

문제 풀이

dp를 활용해서 푸는 문제입니다. 코드 구현 방식은 피보나치 수열을 구현하는 방식과 비슷합니다. 그리고 각 배열 원소 결과값을 15746으로 나눈 나머지로 저장자는 것이 중요합니다.

반응형