herdson   4년 전

예제 2 : [1][2][3][?] 형태로 도킹 시킬 수 있고, 4번째 비행기는 절대 도킹 시킬 수 없어서 이후 추가적인 도킹은 불가능하다.

Explanation of Output for Sample Input 2

The first two planes will dock in gates 1 and 2 (in any order). The third plane must dock at Gate 3. Thus, the fourth plane cannot dock anywhere, and the airport is closed, even though plane 5 would have been able to dock.

예제로 쓰인 설명이 이해가 안가서 원문으로도 봤는데요.

비행기를 최대로 도킹시켜야 되니까 5번째 비행기는 4번째 게이트에 비행기를 넣을 수 있고 따라서 4가 나와야 하지 않나요?

문제를 잘못 읽은건가 싶어서 본문을 다시 봤는데 게이트에 반드시 여유를 남겨야 한다는 말은 없었던 것 같네요.

아니면 진행 중에 어떤 비행기라도 도킹이 불가능한 시점부터 공항을 폐쇄한다는 것일까요?

jh05013   4년 전

"이러한 사고가 일어나면 공항의 평판이 급속히 나빠져, 이후 어떤 비행기도 도착하지 않으려 할 것이다."

herdson   4년 전

As soon as a plane cannot dock at any gate, the airport is shut down and no future planes are allowed to arrive.

그 문장이 제일 이해가 안가는게 해석이 도킹할 수 없다. -> 사고가 일어난다. 인데 그러면 다 찬다의 임계를 n - 1로 제한한다는 뜻일까요?

그러면 n - 1로 제한해도 n - 1일 때 어차피 공항을 닫아야 하므로 공항을 닫는다 -> 도킹할 수 없다. -> 사고가 일어난다. 이렇게 흘러가는게 아닌가요 ㅜㅜ

의미를 자세히 이해하려고 하니까 더 모르겠네요... ㅁㄴㅇㄹ

jh05013   4년 전

우선 n이라는 변수는 없어서, 어느 변수를 지칭하신 것인지 모르겠습니다.

문제를 해석하면, i번째 비행기는 다음 과정을 거쳐 도킹합니다.

  1. i번째 비행기가 공항에 도착하고, gi라는 변수를 가지고 있습니다. 이 비행기는 1, 2, ..., gi번째 게이트 중 하나에 도킹하려고 합니다.
  2. 도킹 가능한 게이트가 있으면, 비행기는 그 중 한 게이트에 도킹을 합니다. 어느 게이트에 도킹을 시킬지 결정하는 것이 문제의 목표입니다.
  3. 도킹 가능한 게이트가 없으면, 비행기가 도킹이 안 되는 사고가 발생합니다. 사고가 발생하면 공항은 즉시 문을 닫고, 이후에 오기로 예정된 모든 비행기가 취소됩니다.

모든 비행기를 성공적으로 도킹시킬 수 있으면 사고가 발생하지 않고, 이때 출력은 P가 됩니다.

두 번째 예제의 경우 어떻게 도킹을 해도 네 번째 비행기까지 도킹시키는 것은 불가능합니다. 그래서 사고가 발생하고, 공항이 문을 닫아 더 이상의 비행기가 오지 않습니다.

herdson   4년 전

과정까지 작성해주신 친절한 답변 감사합니다. 문제를 더 잘 이해할 수 있게 된 것 같습니다.

댓글을 작성하려면 로그인해야 합니다.