당구공을 넣자
시간 제한1초메모리 제한256 MB
가로 A, 세로 B인 당구대에서 점으로 보는 공이 속도 (p,q)로 움직이며 벽에 반사될 때, 구석에 도달할 때까지 벽에 부딪힌 횟수를 세고 영원히 멈추지 않으면 -1을 출력한다.
문제
가로의 길이가 m, 세로의 길이가 m인 직사각형 모양의 당구대가 있다.
당구대 위에는 크기가 무한히 작아 점으로 취급할 수 있는 당구공 한 개가 놓여 있다. 당구공의 위치는 왼쪽 변에서 m, 아래쪽 변에서 m만큼 떨어진 곳이다.
이후 당구공은 일정 시간마다 오른쪽으로 m, 위쪽으로 m 움직이는 등속도 운동을 한다. 당구공이 당구대의 한 변에 닿으면 입사각과 반사각이 같도록 반사된다. 꼭짓점에 닿으면 당구공이 멈춘다.
당구공이 멈출 때까지 변에 몇 번 부딪히는지 계산하는 프로그램을 작성하여라. 단, 마지막에 꼭짓점에 닿은 순간도 변에 부딪혔다고 세어야 한다.
입력
첫째 줄에 당구대의 가로 길이, 세로 길이, 왼쪽 변과 당구공의 거리, 아래쪽 변과 당구공의 거리, 당구공의 오른쪽 이동속도, 당구공의 위쪽 이동속도를 나타내는 6개의 정수 가 공백으로 구분되어 주어진다. (, , , , 는 서로소)
출력
첫째 줄에 당구공이 멈추기 전까지 변에 몇 번 부딪히는지를 출력하라. 단, 마지막에 꼭짓점에 닿은 순간도 변에 부딪혔다고 세어야 한다. 만약 당구공이 영원히 멈추지 않는다면 -1을 출력하여라.