인접행렬(가중치 방향그래프)
아래 그림과 같은 그래프 정보를 인접행렬로 표현해보세요.
▣ 입력설명
첫째 줄에는 정점의 수 N(2<=N<=20)와 간선의 수 M가 주어진다. 그 다음부터 M줄에 걸쳐 연결정보와 거리비용이 주어진다.
▣ 출력설명
인접행렬을 출력하세요.
▣ 입력예제 1
6 9
1 2 7
1 3 4
2 1 2
2 3 5
2 5 5
3 4 5
4 2 2
4 5 5
6 4 5
▣ 출력예제1
0 7 4 0 0 0
2 0 5 0 5 0
0 0 0 5 0 0
0 2 0 0 5 0
0 0 0 0 0 0
0 0 0 5 0 0
풀이
n,m=map(int,input().split())
g=[[0]*(n+1) for _ in range(n+1)]
for k in range(m):
a,b,r=map(int,input().split())
g[a][b]=r
for i in range(1,n+1):
for j in range(1,n+1):
print(g[i][j], end=" ")
print()
-행렬 표현방식
g=[[0]*(n+1) for _ in range(n+1)]
~~
for i in range(1,n+1):
for j in range(1,n+1):
print(g[i][j], end=" ")
print()
print(g)-->결과: [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0,
0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]]
원소 6개씩 6개의 묶음으로 g가 구성되고 for문을 통해 5개의 행과 5개의 열인 표로 출력된다.
-표 내용 기입
for k in range(m):
a,b,r=map(int,input().split())
g[a][b]=r
a에서 b로 이동할 때 r의 거리 비용이 드는 것이다. 이를 입력 받아 g[a][b]=r 코드를 통해
표에 입력
경로 탐색(그래프 DFS : Depth First Search) python (0) | 2021.08.26 |
---|---|
수들의 조합(DFS) (0) | 2021.08.25 |
조합 구하기 (0) | 2021.08.25 |
수열 추측하기 (0) | 2021.08.25 |
순열 구하기 (0) | 2021.08.25 |
댓글 영역