knight7024   3년 전

문제 지문 :

인구 이동은 하루 동안 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구 이동이 없을 때까지 지속된다.

국경선을 공유하는 두 나라의 인구 차이가 L명 이상, R명 이하라면, 두 나라가 공유하는 국경선을 오늘 (하루동안 -> 하루 동안) 연다.

  • 위의 조건에 의해 열어야하는 국경선이 모두 열렸다면, 인구 이동을 시작한다.
  • 국경선이 열려있어 인접한 칸만을 이용해 이동할 수 있으면, 그 나라를 오늘 하루 동안은 연합이라고 한다.
  • 연합을 이루고 있는 각 칸의 인구수는 (연합의 인구수) / (연합을 이루고 있는 칸의 개수)가 된다. 편의상 소수점은 버린다.
  • 연합을 해체하고, 모든 국경선을 닫는다.

각 나라의 인구수가 주어졌을 때, 인구 이동이 (몇 번 -> 며칠 동안) 발생하는지 구하는 프로그램을 작성하시오.


입력 지문 :

인구 이동이 발생하는 (횟수 -> 일수)가 2,000번 보다 작거나 같은 입력만 주어진다.


출력 지문 :

인구 이동이 (몇 번 -> 며칠 동안발생하는지 첫째 줄에 출력한다.


기존 인구 이동이 몇 번 일어났느냐에 대한 질문에는 인구 이동이 일어날 때마다 카운트를 세는 것이 더 답안에 가깝다고 생각합니다. 다만 이 문제에서 요구하는 것은 땅 전체를 한 번 탐색할 동안 일어난 인구 이동들을 한 번으로 카운트 하는 것입니다.

따라서 며칠 동안 인구 이동이 발생하는지 묻는 것으로 변경하는 것이 더 직관적인 것 같습니다.

그리고 띄어쓰기가 안 되어 있던 부분을 추가로 수정했습니다.

startlink   2년 전

수정했습니다.

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