그래프와 그래프

면접 대비

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

요약
직선 Ax+By=C가 정수 격자점 (x,y)를 지날 때마다 x번 정점에서 y번 정점으로 간선을 추가하고, 각 정점의 인접 정점을 오름차순으로 출력한다.
난이도

쉬움10점 중 3점

유형
구현, 수학, 완전 탐색, 그래프
정답자
아직 제출이 없습니다

문제

대곽이는 정보 수업 시간에 그래프를 배운다는 이야기를 듣고 미리 예습해 가기로 하였다. 하지만 대곽이는 그래프 이론이 아닌 좌표평면에서의 그래프를 공부해 버렸다.

대곽이는 Ax+By=CAx + By = C라는 방정식으로 주어진 직선의 그래프를 좌표평면에 그렸다. 대곽이는 이 그래프를 정점과 간선으로 이루어진 방향 그래프로 바꾸려고 한다. 정점은 총 1010개이며, 각 정점에는 11부터 1010까지의 서로 다른 정수 번호가 붙어 있다. 처음에는 그래프에 간선이 존재하지 않는다. 11 이상 1010 이하인 두 정수 xx, yy에 대하여 좌표평면상에서 직선의 그래프가 점 (x,y)(x, y)를 지난다면 대곽이는 그래프의 xx번 정점에서 yy번 정점으로 향하는 간선을 정확히 하나 추가한다. 그래프에서 시작점과 끝점이 같은 간선도 추가할 수 있다.

대곽이가 위의 과정을 거쳐서 만든 새로운 그래프를 출력해 보자!

입력

입력의 첫째 줄에 방정식 Ax+By=CAx+By=C의 계수 AA, BB, CC가 공백으로 구분되어 주어진다. (−100,000≤A,B,C≤100,000)(-100\\, 000 \le A,B,C \le 100\\, 000)

AA, BB, CC는 정수이며, AA와 BB가 모두 00인 경우는 주어지지 않는다.

출력

총 1010개의 줄을 출력한다. ii번째 줄에는 ii번 정점에서 간선을 정확히 11개 지나서 도착할 수 있는 정점들의 번호를 공백으로 구분하여 오름차순으로 출력한다. 만약 그런 정점이 없다면 그 대신 0을 출력한다.

예제2

  1. 예제 1

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

    입력
    2 0 4
    
    예상 출력
    0
    1 2 3 4 5 6 7 8 9 10
    0
    0
    0
    0
    0
    0
    0
    0