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

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

마우스 이동

면접 대비

시간 제한1초메모리 제한128 MB

요약
커서가 너비 c, 높이 r인 화면의 (0,0)에서 시작한다. 각 상대 이동은 화면 경계에서 잘리며, 이동할 때마다 커서의 새 위치를 출력한다.
난이도

쉬움10점 중 2점

유형
시뮬레이션, 구현, 배열, 수학
정답자
아직 제출이 없습니다

문제

화면의 왼쪽 아래 모서리가 (0,0)(0, 0)인 좌표계가 주어집니다. 화면의 모든 점은 정수 좌표 (x,y)(x, y)로 나타내며 0≤x≤c0 \le x \le c, 0≤y≤r0 \le y \le r을 만족합니다. 따라서 오른쪽 위 모서리는 (c,r)(c, r), 오른쪽 아래 모서리는 (c,0)(c, 0), 왼쪽 위 모서리는 (0,r)(0, r)입니다.

커서는 (0,0)(0, 0)에서 시작합니다. 마우스를 움직이면 정수 쌍 (a,b)(a, b)가 전달되며, 이는 커서를 x축 방향으로 aa만큼, y축 방향으로 bb만큼 이동시키라는 뜻입니다. 이는 상대 이동이며 aa와 bb는 양수, 음수, 0일 수 있습니다.

이동으로 인해 커서가 화면 경계를 벗어나게 되면, 그 방향으로는 경계에서 멈춥니다(xx 좌표는 [0,c][0, c], yy 좌표는 [0,r][0, r] 범위로 제한됩니다). 다른 방향으로는 계속 이동합니다. 예를 들어 (30,40)(30, 40)에서 (−100,−10)(-100, -10)만큼 이동하면 최종 위치는 (0,30)(0, 30)입니다. 커서는 왼쪽 경계에 부딪히지만 아래로는 계속 내려갑니다.

각 이동 후 커서의 새로운 위치를 출력하세요.

입력

첫째 줄에 화면의 너비와 높이를 나타내는 두 정수 cc와 rr이 주어집니다. 이후 각 줄에는 하나의 상대 이동을 나타내는 두 정수 aa와 bb가 주어집니다. 입력은 이동 0 0으로 끝나며, 이 이동은 처리하지 않습니다.

출력

각 이동마다(종료를 뜻하는 0 0 이전까지) 커서의 위치를 두 정수 xx와 yy로 공백으로 구분하여 한 줄에 하나씩 출력하세요.

예제2

  1. 예제 1

    입력
    100 200
    10 40
    -5 15
    30 -30
    0 0
    
    예상 출력
    10 40
    5 55
    35 25
    
  2. 예제 2

    입력
    30 40
    30 40
    -100 -10
    0 0
    
    예상 출력
    30 40
    0 30