알고리즘/PS

[C++] 백준 1904 : 01타일

BigmacGood 2022. 4. 7. 22:38

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

 

1904번: 01타일

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

www.acmicpc.net

백준 1904번 01타일을 풀었습니다.

간단한 DP문제입니다. 피보나치 수열같이 규칙을 찾고 점화식을 만들면 됩니다.

 

아래는 전체 코드입니다.

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

#define MOD 15746
int N;
int arr[1000000];

int DP(int n) {
	if (arr[n] != 0)
		return arr[n];
	if (n == 0)
		return arr[n] = 1;
	if (n == 1)
		return arr[n] = 2;
	
	return arr[n] = DP(n - 1) % MOD + DP(n - 2) % MOD;
}

int main() {
	cin >> N;
	DP(N - 1);

	cout << arr[N - 1] % MOD;

	return 0;
}