본문 바로가기
  • 개발 / 공부 / 일상
C++

(C++) [백준] 피자(Small)

by JJeongHyun 2023. 1. 11.
반응형

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

 

14606번: 피자 (Small)

예제1의 입력이 1이므로, 게임 시작부터 갑이 분리할 수 있는 피자탑이 없습니다. 따라서 갑이 얻는 즐거움은 0입니다. 예제2의 정답 3은 다음과 같은 과정을 통해 얻어집니다. 먼저 놀이를 시작

www.acmicpc.net

 

 

요약 ) 

  1. 총피자의 판 수를 입력한다
  2. 높이가 1이 될 때까지 총피자의 판 수를 나눈다
    1. 갑이 얻을 수 있는 즐거움은 나뉜 피자 판 수* 피자 판 수
  3. 즐거움의 최댓값을 출력한다
#include <iostream>

using namespace std;

int pizza[11] = { 0, };

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

	pizza[1] = 0;
	pizza[2] = 1;

	for (int i = 3; i <= x; i++) {
		int quotient = i / 2;
		pizza[i] = (quotient * (i - quotient)) + pizza[quotient] + pizza[i - quotient];
	}

	cout << pizza[x] << endl;

	return 0;
}