SpamGPT-4
시간 제한1초메모리 제한1024 MB
두 봇의 전송 주기 a, b와 실행 시간 T가 주어질 때, 시간 T까지 각 봇이 보내는 메시지 수를 구합니다.
문제
회사 LinkedOut은 자사의 최고 스팸 봇 두 대가 장애를 얼마나 잘 견디는지 시험하려고 한다. 두 봇이 서로 메시지를 주고받도록 설정하고, 오류 없이 얼마나 오래 동작하는지 확인하는 것이 목표다.
시작하면 두 봇이 서로에게 메시지를 하나씩 보낸다. 그 뒤 첫 번째 봇은 초마다, 두 번째 봇은 초마다 새 메시지를 보낸다. 즉 첫 번째 봇은 0초, 초, 초, 와 같은 시각에, 두 번째 봇은 0초, 초, 초, 와 같은 시각에 메시지를 보낸다.
각 봇은 받은 메시지마다 정확히 1초 뒤에 답장을 보낸다. 메시지는 지연 없이 보내는 즉시 도착한다. 첫 번째 봇이 시각 에 메시지를 보내면, 시각 에 답장을 받고, 시각 에 자신의 답장을 보낸다. 봇은 작업을 병렬로 수행하므로, 새 메시지와 받은 메시지에 대한 답장을 같은 순간에 몇 개든 함께 보낼 수 있다.
와 가 주어졌을 때, 두 봇이 오류 없이 동작한다면 시각 까지 각 봇이 보내야 하는 메시지 수를 구하라.
입력
한 줄에 공백으로 구분된 세 정수 , , 가 주어진다. 각각 봇의 메시지 전송 주기와 동작 시간이다 ().
출력
공백으로 구분된 두 정수를 출력한다. 첫 번째 봇과 두 번째 봇이 시각 까지 각각 보낸 메시지 수이다. 시각 초에 보내는 메시지도 답에 포함한다.
힌트
두 번째 예제에 대한 설명:
- 시각 0에 첫 번째 봇은 두 번째 봇에게 메시지
A를 보내고, 두 번째 봇은 첫 번째 봇에게B를 보낸다. - 시각 1에 두 봇은 시각 0에 받은 메시지에 답장한다. 첫 번째 봇은
B(1)(B에 대한 답장)을, 두 번째 봇은A(1)을 보낸다. - 시각 2에는 새 메시지가 없고, 시각 1에 받은 메시지에 답장한다.
A(2)(A(1)에 대한 답장)와B(2)이다. - 시각 3에는
B(3)과A(3)이 보내지고, 같은 시각에 두 번째 봇이 첫 번째 봇에게 새 메시지C를 보낸다. - 시각 4에 첫 번째 봇은 두 번째 봇에게 새 메시지
D를 보내고,C(1)(C에 대한 답장)과A(4)도 보낸다. 두 번째 봇은 첫 번째 봇에게B(4)를 보낸다. - 시각 5에는 새 메시지가 없고, 봇들은 1초 전에 받은 메시지에 답장한다.
- 시각 6에는 직전 초의 메시지에 대한 답장이 보내지고, 두 번째 봇이 첫 번째 봇에게 새 메시지
E를 보낸다.
합계로 첫 번째 봇은 A, B(1), A(2), B(3), D, C(1), A(4), B(5), D(2), C(3), A(6)을 보내 11개 메시지를 보냈다. 두 번째 봇도 B, A(1), B(2), C, A(3), B(4), D(1), C(2), A(4), E, B(6)을 보내 정확히 11개 메시지를 보냈다.