아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

정사각형에서의 반사

시간 제한7초메모리 제한1024 MB

요약
단위 정사각형 안 (-1,0)에서 출발한 광선이 변에서 같은 각으로 n번 반사된 뒤 도달하는 점의 유리좌표를 기약분수로 구한다.
난이도

보통10점 중 6점

유형
수학, 기하, 정수론, 시뮬레이션
정답자
아직 제출이 없습니다

문제

좌표평면에서 네 꼭짓점이 (−1,−1)(-1,-1), (−1,1)(-1,1), (1,1)(1,1), (1,−1)(1,-1)인 정사각형이 있다. 점 (−1,0)(-1,0)에서 정사각형 내부로 주어진 기울기의 경로를 따라 광선을 쏜다. 광선은 정사각형의 변에 부딪히면, 교점에서 변에 대한 입사각과 같은 반사각으로 반사된다.

여러 번 반사된 뒤, 광선은 정사각형의 변 중 하나와 유리수 좌표를 갖는 점에서 다시 만난다. 그 유리수 좌표를 기약분수로 구하라.

입력

입력은 한 줄로 주어지며, 세 정수 aa, bb, nn이 포함된다 (1≤a,b,n≤1061 \le a,b,n \le 10^6, gcd⁡(a,b)=1\gcd(a,b)=1). 광선의 처음 경로의 기울기는 a/ba/b이고, 반사 횟수는 nn이다. aa와 bb는 서로소이다. 기울기는 광선이 정사각형의 꼭짓점에서 반사되지 않도록 주어진다.

출력

광선이 정사각형의 변에 마지막으로 닿는 점이 (p/q,s/t)(p/q, s/t)일 때, 공백으로 구분된 네 정수 pp, qq, ss, tt를 한 줄에 출력한다. p/qp/q와 s/ts/t는 기약분수이고 분모 qq와 tt는 양수이다. 어느 좌표의 값이 00이면 0 1로 출력한다.

힌트

다음은 첫 번째 예제를 나타낸 그림이다:

예제3

  1. 예제 1

    입력
    1 1 3
    
    예상 출력
    -1 1 0 1
    
  2. 예제 2

    입력
    1 7 4
    
    예상 출력
    -1 1 6 7
    
  3. 예제 3

    입력
    355 113 123456
    
    예상 출력
    1 1 -58 113