The Way

백준 7770번: 아즈텍 피라미드 본문

PS/백준 온라인 저지

백준 7770번: 아즈텍 피라미드

Jeonggyun 2018. 1. 9. 17:38

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

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



1. 문제 요약

안정적인 피라미드란 블럭의 아래에 있는 블럭의 모든 면이 땅이나 다른 블럭과 접할 때, 안정적이라고 한다.

블럭의 개수가 주어질 때 그 블럭으로 만들 수 있는 안정적인 피라미드의 최대 높이를 구하기



2. 알고리즘

특정 높이의 안정적인 피라미드의 최소 개수는 정해진다.

점화식을 따르는데, 2계차수열을 따른다.


조금만 계산해보면 일반항을 구할 수 있다.

높이 N 최소 개수 <= 주어진 블록 개수 < 높이 N + 1 최소 개수

를 만족하는 N을 구하면 된다.



3. 코드

#include <iostream>
using namespace std;

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

	int h = 0;
	int block = 0;

	while (block <= n) {
		block += 2 * h * h + 2 * h + 1;
		h++;
	}
	cout << h - 1 << endl;

	return 0;
}


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

백준 1904번: 01타일  (0) 2018.01.09
백준 9095번: 1, 2, 3 더하기  (0) 2018.01.09
백준 11726번: 2×n 타일링  (0) 2018.01.09
백준 13623번: Zerinho ou Um  (0) 2018.01.09
백준 9664번: NASLJEDSTVO  (0) 2018.01.09
Comments