본문 바로가기

백준

백준1309 - 동물원

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

 

1309번: 동물원

첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다.

www.acmicpc.net

풀이가 되게 짧아서 허탈한 문제였다. 점화식이 간단하니 스스로 세워서 풀어보도록 하자

#include <iostream>
using namespace std;

int mat[100001];

int main() {
	int n;
	cin >> n;

	/*
		3
		7
		17 = 7 * 2 + 3
		41 = 17 * 2 + 7
		.
		.
		.
		따라서 점화식은 : a(n) = 2 X a(n - 1) + a(n - 2), a(1) = 3, a(2) = 7, (n >= 3)
	*/
	mat[1] = 3;
	mat[2] = 7;
	for (int i = 3; i <= n; i++) {
		mat[i] = (2 * mat[i - 1] + mat[i - 2]) % 9901;
	}
	cout << mat[n];
}

'백준' 카테고리의 다른 글

백준9019 - DSLR  (0) 2020.01.05
백준1669 - 멍멍이 쓰다듬기  (0) 2019.12.29
백준1544 - 사이클 단어  (0) 2019.12.26
백준1965 - 상자넣기  (0) 2019.12.26
백준2493 - 탑  (0) 2019.12.24