PC/UVa ID : 110406/10138

이 포스트를 만든 목적

  • 생각 절차, 푼 방법, 고민거리 등을 기록하기 위해서 만들었다.

이 포스트의 준비물

  • firefox4 beta11
  • eclipse 3.6.1 + vrapper
  • lua 5.1.4

참조 문헌

  • 스티븐 스키에나, 미구엘 레비야 저. Programming Challenges: 알고리즘 트레이닝 북. 서환수 역.
    Springer. 한빛미디어 초판 2쇄 2004.12.05. (문제 30, CDVII, page 127)

참조 링크

간략한 이야기

로마의 도로는 견고하게 지어진 것으로 유명하다. 하지만 이렇게 견고한 도로를 만드는 데는 비용이 들게 마련이다. 그래서 자동 사용료 부과 방법을 통해 도로 건설 비용을 회수하기로 했다.

CDVII라는 유료 고속도로에서 사용하는 요금 체계를 설명하자면 다음과 같다. 그 도로를 주행하려면 그 주행이 시작된 시각에 따라 주행거리(킬로미터 단위)당 일정한 요금을 지불해야 한다. 모든 입출구에는 카메라가 장착되어 있어서 들어오고 나가는 차량의 번호판을 기록한다. 매달 그 자동차 소유주에게(도로에 들어간 시각을 기준으로 결정되는 요금에 따라) 킬로미터 단위로 요금이 부과되는데, 이때 매 주행마다 1달러가 추가되고 매달 2달러의 기본 요금이 부과된다. 일련의 번호판 사진이 주어졌을 때 한 달 동안의 도로 이용 청구서를 만드는 일을 해야 한다.

프로그램의 입출력

생략, 맛보기 사진 참조, 링크 참조

맛보기 사진

맛보기 코드 - 루아로 만들어졌다.

여담

  • 시간 중 월, 분은 필요가 없어 빼버렸다. 그리고 모든 시간을 시로 표기 했다. 요금 테이블이 어차피 입장 시로 기준 되기 때문이다.
  • 그냥 자동차 번호판을 키로 출입을 쌓았다가, 시간으로 정렬해, enter, exit 의 짝이 맞을 때만 계산하면 되는거다.
  • 이번 문제는 좀 쉬웠다.

:wq!

posted by 농사를 짓는 게임 프로그래머 최익필
TAG , ,

댓글을 달아 주세요