The Way

백준 9095번: 1, 2, 3 더하기 본문

PS/백준 온라인 저지

백준 9095번: 1, 2, 3 더하기

Jeonggyun 2018. 1. 9. 17:41

백준 온라인 저지(BOJ) 9095번 문제

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



1. 문제 요약

정수 n이 주어졌을 때, n을 1,2,3의 합으로 나타내는 방법의 수 구하기



2. 알고리즘

기본적인 다이나믹 프로그래밍 문제.

특정 항의 값은 앞의 세 항을 더한 값이 된다.


switch문을 한 번 써봤다



3. 코드

#include <iostream>
using namespace std;

int main() {
	int T;
	cin >> T;
	
	for (int i = 0; i < T; ++i) {
		int N;
		cin >> N;
		switch (N) {
			case 1:
				cout << 1 << endl;
				break;
			case 2:
				cout << 2 << endl;
				break;
			case 3:
				cout << 4 << endl;
				break;
			default:
				int a = 1, b = 2, c = 4, d;
				for (int i = 0; i < N - 3; ++i) {
					d = a + b + c;
					a = b;
					b = c;
					c = d;
				}
				cout << c << endl;
				break;
		}
		
	}
	return 0;
}


'PS > 백준 온라인 저지' 카테고리의 다른 글

백준 2959번: 거북이  (0) 2018.01.10
백준 1904번: 01타일  (0) 2018.01.09
백준 7770번: 아즈텍 피라미드  (0) 2018.01.09
백준 11726번: 2×n 타일링  (0) 2018.01.09
백준 13623번: Zerinho ou Um  (0) 2018.01.09
Comments