E D R , A S I H C RSS

Ant OnAChessboard



인기도:B(A,B,C), 성공률:높음(낮음,보통,높음), 레벨:1(1~4)

About AntOnAChessboard

어느 날 앨리스라는 개미가 M × M 체스판에 올라갔다. 앨리스는 체스판에 있는 모든 셀을 방문하려고 한다. 그래서 판 한 쪽 구석에서 시작해서 체스판을 한 꺼풀씩 훑어나가기로 했다. 앨리스는 (1, 1)자리부터 움직이기 시작했다. 처음에는 한 칸 위로 올라간 다음, 오른쪽으로 한칸 이동하고, 다시 한 칸 아래로 내려왔다. 그리고 나서 한 칸 오른쪽으로 움직여서 두 칸 위로 올라가고, 두 칸 왼쪽으로 움직였다. 이런 식으로 매번 한 행, 그리고 한 열씩을 움직였다. 예를 들어 앨리스가 25단계를 움직인 경로를 표시해보면 다음과 같다. 여기에서 각 숫자는 앨리스가 각 셀을 방문한 순서를 나타낸다.
25 24 23 22 21
10 11 12 13 20
9 8 7 14 19
2 3 6 15 18
1 4 5 16 17
앨리스는 여덟 번째 단계에서는 (2, 3) 위치에 있었고, 20번째 단계에서는 (5,4) 위치에 있었다. 단계 수가 주어졌을 때, 체스판이 매우 커서 움직일 수 있는 위치에 제한이 없다고 할 때, 앨리스의 위치를 결정하는 프로그램을 만들어야 한다.

Input

입력 파일은 여러 줄로 구성되는데, 각 줄마다 단계 번호를 나타내는 정수 N(1 ≤ N ≤ 2 × 10<sup>9</sup>)이 하나씩 입력된다. 0이 입력되면 입력이 종료된다.

Output

입력된 값에 대해 해당 단계에서의 앨리스의 위치 (x,y)를 나타내는 두 정수를 출력한다. x는 열 번호, y는 행 번호를 나타낸다. 두 정수 사이에는 스페이스가 한 개 들어간다.

Sample Input

8
20
25
0 

Sample Output

2 3
5 4
1 5 

풀이

작성자 사용언어 개발시간 코드
하기웅 C++ 40분 AntOnAChessboard/하기웅
허준수 C++ ? AndOnAChessBoard/허준수
문보창 C++ 1시간 AntOnAChessboard/문보창
김상섭 C++ 많이..ㅡㅜ AntOnAChessboard/김상섭
조현태 C++ ? AntOnAChessboard/조현태
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2013-12-03 01:45:04
Processing time 0.4871 sec