그래프의 표현3
방향 가중치 그래프(Directed Weighted Graph)는 정점(Vertex)들과 한 정점에서 다른 정점으로 방향과 비용(가중치)이 있는 간선(Edge)들로 이루어진 자료구조입니다.
이러한 그래프를 컴퓨터에서 표현하는 대표적인 방법 중 하나가 바로 인접 행렬(Adjacency Matrix)입니다.
\(V\)개의 정점과 \(E\)개의 간선 정보가 주어졌을 때, 이 그래프를 가중치 인접 행렬로 표현하는 프로그램을 작성하시오.
가중치 인접 행렬 \(A\)의 각 원소 \(A[i][j]\)는 다음과 같이 정의됩니다.
- \(i\)번 정점에서 \(j\)번 정점으로 가는 간선이 존재하면 해당 간선의 가중치 값
- 존재하지 않으면 \(0\)
입력
첫째 줄에 정점의 개수 \(V\)와 간선의 개수 \(E\)가 공백을 사이에 두고 주어진다.
둘째 줄부터 \(E\)개의 줄에 걸쳐 각 간선의 시작 정점 \(u\), 도착 정점 \(v\), 그리고 해당 간선의 가중치 \(w\)가 공백을 사이에 두고 주어진다.
이는 \(u\)에서 \(v\)로 가는 가중치 \(w\)인 방향성 간선이 존재함을 의미한다. (동일한 시작점과 도착점을 갖는 중복 간선은 주어지지 않는다.)
출력
첫째 줄부터 \(V\)개의 줄에 걸쳐 인접 행렬을 출력한다.
각 줄에는 1번 정점부터 \(V\)번 정점까지의 가중치 상태를 공백으로 구분하여 출력해야 한다.
제한사항
- \(1 \le V \le 100\)
- \(0 \le E \le V \times (V - 1)\)
- \(1 \le u, v \le V\) (\(u \ne v\), 자기 자신으로 향하는 간선은 없다.)
- 간선의 가중치 \(w\)는 \(1 \le w \le 1000\) 인 정수이다.
예제 입력 1
4 4
1 2 5
1 3 12
3 4 7
4 1 3
예제 출력 1
0 5 12 0
0 0 0 0
0 0 0 7
3 0 0 0
코멘트