그래프는 정점과 정점을 잇는 간선으로 정의된 자료 구조이다. 그림으로 그래프를 표현할 때, 정점은 보통 원으로 표현하고 간선은 원을 잇는 선으로 표현한다. 위 그래프에서 정점은 1, 2, 3, 4, 5, 6이고 간선은 ~(1, 2), (1, 5), (2, 3), (2, 5), (3, 4), (4, 5), (4, 6)~이다.
수학적으로는 그래프를 위와 같이 정의할 수 있으나, 실제 프로그램으로 그래프를 저장하는 방법은 여러 가지가 있다. 인접 행렬(Adjacency matrix)이란 그러한 방법 중 하나로, 행렬(2차원 배열)을 통해서 그래프를 표현하는 방법이다. 예를 들어 2차원 배열 adj[i][j]를 정의한 후에 그래프에서 정점 u에서 v를 잇는 간선이 있다면 adj[i][j] = 1 아니면 adj[i][j] = 0을 저장하게 하면 된다.
예를 들어 위 그래프의 간선을 모두 저장하고 난 후의 인접 행렬(Adjacency matrix)은 위와 같다. 위 그래프의 간선은 방향이 없기 때문에 adj[i][j] = 1이라면 반대로 adj[j][i] = 1이다.
그래프가 주어질 때, 이를 인접 행렬(Adjacency matrix)로 표현해보자.
입력
첫째 줄에 그래프의 정점의 개수와 간선의 개수 ~N, M(1 \le N, M \le 50)~이 주어진다. 그래프의 각 정점에는 1부터 N까지 번호가 매겨져 있다.
둘째 줄부터 M개의 줄에 그래프의 간선이 주어진다. 간선은 서로 다른 두 정점 ~u, v(1 \le u, v \le N)~를 잇는다. 주어지는 그래프는 단순 그래프(Simple graph)이다. 따라서 두 정점을 잇는 간선은 최대 한 개 존재할 수 있으며, 자기 자신을 잇는 간선은 없다.
출력
주어진 그래프를 표현한 인접 행렬(Adjacency matrix)을 출력한다.
예제 입력 1
6 7
1 2
1 5
2 3
2 5
3 4
4 5
4 6
예제 출력 1
0 1 0 0 1 0
1 0 1 0 1 0
0 1 0 1 0 0
0 0 1 0 1 1
1 1 0 1 0 0
0 0 0 1 0 0
예제 입력 2
4 2
1 2
2 3
예제 출력 2
0 1 0 0
1 0 1 0
0 1 0 0
0 0 0 0
예제 입력 3
5 10
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
예제 출력 3
0 1 1 1 1
1 0 1 1 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
노트
N \times N 크기의 2차원 배열을 선언한 후에 M개의 간선을 입력받으면서 배열을 채워줍니다.
배열은 0으로 초기화한 후에 간선으로 ~(u, v)~가 주어지면 adj[i][j]에 1을 대입합니다. 반대도 마찬가지로 대입해줘야 함에 유의합니다.
| 순위 | 사용자 | 언어 | 시간 | 메모리 | 코드 길이 |
|---|---|---|---|---|---|
| 🥇 | 202102659_안우진 | Python | 221ms | 10496KB | 249B |
| 🥈 | 202402751_한현욱 | Python | 221ms | 10368KB | 326B |
| 🥉 | 202402699_오태영 | Python | 227ms | 10496KB | 257B |
| 4 | 202102622_김우솔 | Java | 496ms | 27392KB | 1011B |
| 5 | 202102553_윤서웅 | Java | 509ms | 28032KB | 807B |
| 6 | 202102713_진민혁 | Java | 519ms | 28544KB | 789B |
| 7 | 202102717_최성윤 | Java | 561ms | 28416KB | 1411B |
| 8 | 202302582_유민석 | Java | 618ms | 30464KB | 875B |
| 9 | 202402665_김진하 | Java | 627ms | 33152KB | 649B |
| 10 | 202302564_성준혁 | Java | 629ms | 32896KB | 855B |
| 11 | 202402698_오아누 | Java | 631ms | 69632KB | 911B |
| 12 | 202102675_이문영 | Java | 631ms | 33536KB | 624B |
| 13 | 202402747_추민정 | Java | 632ms | 33280KB | 660B |
| 14 | 202402712_이규연 | Java | 639ms | 34920KB | 492B |
| 15 | 202302602_이준휘 | Java | 639ms | 35224KB | 485B |
| 16 | 202403102_이태익 | Java | 641ms | 33212KB | 663B |
| 17 | 202402671_노지현 | Java | 642ms | 34124KB | 629B |
| 18 | 202402673_박기용 | Java | 646ms | 33232KB | 670B |
| 19 | 202402748_한가현 | Java | 647ms | 34104KB | 553B |
| 20 | 202402664_김지후 | Java | 654ms | 34036KB | 554B |
| # | 사용자 | 결과 | 언어 | 시간 | 메모리 | 코드 길이 | 제출 시간 |
|---|---|---|---|---|---|---|---|
| 3608 | 202102622_김우솔 | 정답 | Java | 496ms | 27392KB | 1011B | 2024. 05. 13. 10:14 |
| 3607 | 202102622_김우솔 | 컴파일 에러 | Python | - | - | 2121B | 2024. 05. 13. 10:14 |
| 3566 | 202302564_성준혁 | 정답 | Java | 629ms | 32896KB | 855B | 2024. 05. 11. 09:28 |
| 3565 | 202302564_성준혁 | 오답 | Java | 747ms | 33408KB | 851B | 2024. 05. 11. 09:27 |
| 3560 | 202402665_김진하 | 정답 | Java | 627ms | 33152KB | 649B | 2024. 05. 09. 11:14 |
| 3555 | 202403102_이태익 | 정답 | Java | 641ms | 33212KB | 663B | 2024. 05. 09. 11:06 |
| 3552 | 202402748_한가현 | 정답 | Java | 647ms | 34104KB | 553B | 2024. 05. 09. 11:01 |
| 3551 | 202402748_한가현 | 컴파일 에러 | Java | - | - | 552B | 2024. 05. 09. 11:00 |
| 3549 | 202402685_서진영 | 정답 | Java | 685ms | 33560KB | 550B | 2024. 05. 09. 10:55 |
| 3548 | 202402671_노지현 | 정답 | Java | 642ms | 34124KB | 629B | 2024. 05. 09. 10:52 |
| 3547 | 202402671_노지현 | 오답 | Java | 629ms | 34912KB | 625B | 2024. 05. 09. 10:51 |
| 3546 | 202402656_김영수 | 정답 | Java | 706ms | 40812KB | 612B | 2024. 05. 09. 10:50 |
| 3545 | 202402671_노지현 | 오답 | Java | 678ms | 34156KB | 625B | 2024. 05. 09. 10:50 |
| 3544 | 202002466_김동건 | 정답 | Java | 693ms | 34820KB | 514B | 2024. 05. 09. 10:47 |
| 3543 | 202002466_김동건 | 컴파일 에러 | Java | - | - | 511B | 2024. 05. 09. 10:47 |
| 3542 | 202402698_오아누 | 정답 | Java | 631ms | 69632KB | 911B | 2024. 05. 09. 10:45 |
| 3541 | 202402747_추민정 | 정답 | Java | 632ms | 33280KB | 660B | 2024. 05. 09. 10:45 |
| 3540 | 202402747_추민정 | 컴파일 에러 | Python | - | - | 660B | 2024. 05. 09. 10:45 |
| 3536 | 202302582_유민석 | 정답 | Java | 618ms | 30464KB | 875B | 2024. 05. 09. 10:20 |
| 3524 | 202402699_오태영 | 정답 | Python | 227ms | 10496KB | 257B | 2024. 05. 09. 09:22 |