2010. 5. 11. 23:42
일년에 한번 씩 다른 여행지로 여행을 가는 학생 모임이 있다. 이 학생들은 여행 경비를 모두 똑같이 부담하기로 합의했지만 돈을 쓸 때마다 나눠서 내는 것은 별로 실용적이지 못하다. 그래서 한명씩 식비, 호텔비, 택시비, 비행기표를 부담하기로 한다. 여행이 끝난 후에 각 학생이 지출한 내역을 계산한 다음 1센트 단위 내에서 모든 학생들이 쓴 돈이 같도록 돈을 주고 받는다. 하지만 이전 여행의 경험에 비추어보면 돈을 주고 받는 과정은 정말 지루하고 오랜 시간을 요하는 작업이었다. 지출 내역이 주어졌을 때 모든 학생이 쓴 돈이(1센트 단위 내에서)똑같아지기위해 전달되어야 하는 최소 액수를 구해보자.
각 여행에 대해 각 학생이 사용한 금액이 똑같아지기 위해 전달되어야 하는 금액의 총합을 출력한다.
입력 출력
3 10.00
10.00 12.00
20.00
30.00
4
15.00
15.01
3.00
3.01
재밌는 문제였던거같다. 처음에는 엄청 간단해보였는데 문제를 잘못이해해서 아주 쉽게 생각했었다.
이 문제의 해결은 학생들의 평균을 구해서 그 값보다 큰 것들을 모두 더하면 금액이 같아지기위해서 이동하는 돈의 총액이 된다. 가장 문제였던게 계산후에 자리수를 맞추기위해 반올림을 할려고 했는데 c랑 c++에서는 반올림 함수를 제공해주지 않는걸 몰라서 찾는데 시간이 좀 걸린것같다.
각 여행에 대해 각 학생이 사용한 금액이 똑같아지기 위해 전달되어야 하는 금액의 총합을 출력한다.
입력 출력
3 10.00
10.00 12.00
20.00
30.00
4
15.00
15.01
3.00
3.01
재밌는 문제였던거같다. 처음에는 엄청 간단해보였는데 문제를 잘못이해해서 아주 쉽게 생각했었다.
이 문제의 해결은 학생들의 평균을 구해서 그 값보다 큰 것들을 모두 더하면 금액이 같아지기위해서 이동하는 돈의 총액이 된다. 가장 문제였던게 계산후에 자리수를 맞추기위해 반올림을 할려고 했는데 c랑 c++에서는 반올림 함수를 제공해주지 않는걸 몰라서 찾는데 시간이 좀 걸린것같다.
'프로그래밍 기초 > 자료구조 & 알고리즘' 카테고리의 다른 글
스택만들기 (0) | 2010.05.13 |
---|---|
LCD 디스플레이 (0) | 2010.05.13 |
지뢰찾기 (0) | 2010.05.03 |
3n+1 (0) | 2010.05.03 |
스케줄링 (라운드 로빈) (0) | 2009.12.17 |