어흥

[백준 1904] 01타일 (C++) 본문

알고리즘/백준

[백준 1904] 01타일 (C++)

라이언납시오 2020. 8. 30. 10:12
728x90
반응형

문제 링크: www.acmicpc.net/problem/1904

 

1904번: 01타일

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

www.acmicpc.net

 

1. 주의할 점

- DP를 사용해서 문제를 해결한다(점화식)

 

2. 구현

- 1개의 타일: 1개(1)

- 2개의 타일: 2개(00, 11)

- N개의 타일을 사용할 때

: (N-1개의 타일 + N-2개의 타일)%MOD (여기서 MOD는 15746)

따라서 점화식은 N>=3일때, Arr[N] = (Arr[N-1] + Arr[N-2])%MOD로 이루어진다

#define MOD 15746
#include <iostream>
using namespace std;
int arr[1000001];

int main() {
	ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
	int num;
	cin >> num;
	arr[1] = 1;
	arr[2] = 2;
	for (int i = 3; i <= num; i++)
		arr[i] = (arr[i - 1] + arr[i - 2]) % MOD;
	cout << arr[num] % MOD;
	return 0;
}
728x90
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준 14391] 종이 조각 (C++)  (0) 2020.09.05
[백준 16971] 배열 B의 값 (C++)  (0) 2020.09.02
[백준 16562] 친구비 (C++)  (0) 2020.08.27
[백준 1238] 파티 (C++)  (0) 2020.08.24
[백준 4889] 안정적인 문자열 (C++)  (0) 2020.08.24
Comments