원래는 M에 오차가 있다는 게 문제를 어렵게 만드는 거라 이 글은 쓸모 없을 수도 있는데, 이 글이 디딤돌이 될지도 몰라서 올려봄.


M에 오차가 없고 M이 충분히 큰 경우 가능하다는 것만 증명했음. M이 작으면 원글 기괴공학도 댓글처럼 불가능할 수도 있음. 알고리즘까지 알고 싶으면 증명을 따라가면 되지만, 쓸모 있을지 없을지 모르는 정리의 증명을 읽는 건 시간낭비 같고 이걸 활용할 방법이 떠올랐을 때만 증명을 읽어보든지 하면 될 듯.


내가 제대로 이해했다면 배가 2~4대이든 1대이든 차이가 없음. 따라서 배는 1대라고 할 것임. 그리고 m1 = m-100, m2 = m 이라 하면, m1과 m2 중 하나씩 택해서 더해가는 작업을 홀수 번 했을 때 M 미만, 짝수 번 했을 때 M 이상이 되게 만들면 됨. 즉, n1 + n2 가 홀수이면서 n1m1 + n2m2 가 M - m2 이상, M 미만인 두 자연수 n1, n2 를 구하기만 하면 됨. 질량 m1인 상태로 n1번, m2인 상태로 n2번 배를 통과시키면 n1m1 + n2m2 는 M 미만이니까 웜홀이 붕괴되지 않고, 질량 m2인 상태로 한 번 더 통과시키면 n1m1 + (n2+1)m2 는 M 이상이니까 웜홀이 붕괴되기 때문임.