2013-10-04 3 views
0

으로 작업을 공유하기 위해 나는 어떤 웹 사이트를 테스트하는 동안, 다음과 같은 문제가 발생 :는 알고리즘이 개 집행

존과 메리는 J & M 출판사를 설립하고 장비 두 개의 오래된 프린터 을 샀다. 이제 그들은 N 페이지로 구성된 문서를 인쇄하는 최초의 상업 거래가 있습니다. 프린터가 속도로 작동하는 것으로 보입니다. 하나는 X 초에 페이지를 생성하고 다른 하나는 Y 초에 페이지를 생성합니다. 이제 회사 창립자는 두 대의 프린터로 전체 문서를 인쇄하는 데 쓸 수있는 최소 시간에 대해 궁금합니다.

내가 욕심 알고리즘의 문제이다 생각하지만 N 그래서 거기에 아마도 내가 볼 수있는 몇 가지 간단한 해결책은, 억까지 될 수 있다고 이야기한다 (여기 http://codeabbey.com/index/task_view/two-printers에서 촬영)

. 어쨌든 X와 Y에 비례하여 그들을 나눌 수있는 해결책을 찾을 수 있을까요?

+0

이것은 알고리즘 질문이 아닌 수학 질문으로 보입니다. 작업 분배는'YN/(X + Y)'페이지를'X ','XN/(X + Y)'페이지를'Y'로 출력한다. 총 시간은'XYN/(X + Y)'가 최적이다 ('N/'YN/(X + Y)'는 정수가 아니기 때문에, 몇 개의 값을 계산할 수 있습니다 ('X'는 반올림되고'Y'는 반올림 됨). 그 반대로) 최소값을 취하십시오. – justhalf

+1

아, 이제 알겠습니다! 분명히 같은 수식에 도달했지만 정수 결과를 처리하는 방법을 발명하지 않았습니다. 당신에게 감사드립니다. 그것은 분명 해졌습니다. 저는 둘 모두를 내리고, 욕심 많은 원칙에 의해 배정되어야 할 직업이 하나 밖에 남지 않을 것입니다. K 큐에 외삽 될 수있는 것처럼 보입니다 ... 다시 한번 감사드립니다! – Alumashka

+0

나는 당신의 질문에 대답했습니다. 당신이 내 대답을 upvote하고 받아 들일 수 있다면 정말 감사 할 것입니다. ^^ – justhalf

답변

2

이것은 알고리즘 질문보다는 수학 질문 인 것 같습니다. 작업 배포본은 YN/(X+Y) 페이지에서 X, XN/(X+Y) 페이지에서 Y까지입니다. 총 시간은 최적 XYN/(X+Y) 것 (이 N/(1/X + 1/Y)에 해당 있습니다. YN/(X+Y) 정수하지 않을 수 있기 때문에, 당신은 단지) X가 반올림되어 Y가 내림 경우 (몇 가지 값을 계산하고, 그 반대의 수, 다음 걸릴 당신이 말했듯이, 둘 다 줄이고 나머지 작업을 더 빠른 기계에 줄 수 있습니다.