백준/단계별

[C++] 백준 1712

loasd 2022. 12. 19. 23:55
반응형

백준의 1712번 문제 손익분기점이다.

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

 

1712번: 손익분기점

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와

www.acmicpc.net


 < 문제 > 

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다.

예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다.

노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다.

A, B, C가 주어졌을 때, 손익분기점을 구하는 프로그램을 작성하시오.

 

 < 예제 >

 

손익 분기점을 계산하는 문제이다.

고정비묭 A, 가변비용 B, 물건의 금액 C의 변수가 있다.

위의 설명을 읽어보면 결국 계산하는데 변화가 있는 것은 가변비용과 물건의 금액이다.

물건 하나를 만들때마다 그만큼 가변비용B가 증가하는 것이다.

 A=1,000, B=70이라고 하면 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다.

이렇고 A는 1000으로 고정, B는 노트북 한대당 B만큼 증가하므로 A + (B * C의 갯수) = 1000 + (70 * 10) = 1700이 된다.

 

#include <iostream>
#include <string>
using namespace std;

int main() {

	int A, B, C;		//A = 고정비용, B = 가변비용, C = 판매금액
	int total = 0;
	cin >> A >> B >> C;

	if (B >= C)
		cout << "-1";
	else {
		total = A / (C - B);
		cout << total + 1;
	}
}

만약 B가 C보다 크다면 물건 1개를 만드는 비용이 판매했을 때의 비용보다 크기때문에 이익이 날 수가 없기 때문에 

	if (B >= C)
		cout << "-1";

이렇게 -1을 출력하게 하였다.

그 외에는 전부 이익이 나는 상황이라 else를 사용하였다.

	else {
		total = A / (C - B);
		cout << total + 1;
	}

total을 A / C-B로 나누었다. C-B는 순이익, 물건 판매 비용 - 물건을 만드는데 든 인건비이다.

고정비용 / 순이익 을 계산하면 몇번 판매해야 이익을 보는지 알 수 있게 된다.

 

 

반응형