C++ 2차원 벡터 동적 할당 사용법
그래프 문제를 풀 때 노드의 개수 N의 범위가 매우 크면 벡터의 크기를 함부로 설정하기가 난감하다. vector graph[100000]; 와 같이 할당하면 N = 10처럼 노드의 개수가 적은 경우에 메모리 낭비가 되고, 그렇다고 vector graph[10]; 처럼 작게 할당해버리면 N의 범위가 큰 경우에는 범위를 초과해버리기 때문이다. 따라서 vector의 2차원 동적 할당을 이용해 그래프를 만들어준다. vector v; 2차원 벡터란 위와 같이 벡터 안에 벡터를 또 집어 넣는 것이다. 이렇게 하면 v의 행과 열 범위를 동적으로 만들 수 있다. N개의 노드가 있고 M개의 간선이 있는 무방향 그래프가 있다고 해보자. 아래는 N과 M을 입력 받아 M개의 간선 정보를 통해 그래프를 그리는 예시이다. #in..