만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

좌표

시간 제한3초메모리 제한512 MB

요약
여러 기지 쌍의 x, y 좌표 차이가 주어질 때, 1번 기지를 (0,0)에 고정하고 모든 기지의 좌표를 복원한다.
난이도

보통10점 중 4점

유형
그래프, BFS, DFS, 구현
정답자
아직 제출이 없습니다

문제

당신은 은하 제국의 참모다. 행성 타부에 숨어 있는 반란군 기지의 위치를 모두 알아내야 한다. 타부의 지도는 108×10810^8 \times 10^8 크기의 격자이고, 기지 하나의 위치는 0≤x,y<1080 \le x, y < 10^8을 만족하는 좌표 (x,y)(x, y)로 나타낸다.

제국은 항복한 반란군을 붙잡아 기지의 위치를 심문했다. 그런데 붙잡힌 반란군은 기지 두 곳이 xx축 방향과 yy축 방향으로 각각 얼마나 떨어져 있는지만 말한다. 심문 결과와 모순되지 않는 모든 기지의 좌표를 구하라.

입력

첫째 줄에 기지의 수 NN과 붙잡힌 반란군의 수 MM이 주어진다. (1≤N≤100 0001 \le N \le 100\,000, N≤M≤1 000 000N \le M \le 1\,000\,000)

다음 MM개 줄에 네 정수 aia_i, bib_i, dxidx_i, dyidy_i가 주어진다. (1≤ai,bi≤N1 \le a_i, b_i \le N, −108≤dxi,dyi≤108-10^8 \le dx_i, dy_i \le 10^8) 이는 기지 bib_i의 xx좌표에서 기지 aia_i의 xx좌표를 뺀 값이 dxidx_i이고, 기지 bib_i의 yy좌표에서 기지 aia_i의 yy좌표를 뺀 값이 dyidy_i라는 뜻이다.

심문 결과는 서로 모순되지 않으며, 이 결과만으로 모든 기지의 위치가 정해진다.

출력

NN개 줄에 걸쳐 jj번 기지의 좌표 xjx_j와 yjy_j를 공백으로 구분해 출력한다.

지도 전체를 평행이동한 좌표도 심문 결과와 모순되지 않는다. 답을 하나로 정하기 위해 1번 기지를 (0,0)(0, 0)에 둔 좌표를 출력한다. 이 규칙을 따르면 모든 좌표의 절댓값은 10910^9 이하이다.

예제4

  1. 예제 1

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

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

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

    입력
    5 5
    5 4 50 -50
    4 3 -100 3
    3 2 4 17
    2 1 6 -10
    1 5 40 40
    
    예상 출력
    0 0
    -6 10
    -10 -7
    90 -10
    40 40