아... 알고리즘 풀면서 너무 내가 바보 같다는 걸 느낌
지금도 문제를 푸는데
/* 정점 개수 입력 */
scanf("%d", &N);
/* 간선 개수 입력 */
scanf("%d", &M);
for (int count = 0; count < M; count++)
{
scanf("%d %d %d", &Temp[0], &Temp[1], &Temp[2]);
adj_mat[Temp[0]][Temp[1]] = adj_mat[Temp[1]][Temp[0]] = Temp[2];
} 이렇게 DFS 방식으로 입력을 하면 안되는가요?
1 2 5 1 3 4 2 3 2 2 4 7 3 4 6 3 5 11 4 5 3 4 6 8 5 6 8
이렇게 입력받으면 배열을 어떻게 저장을 해야하는가요?
아;;; 어떻게 입력을 받으면 좋을까요;;
정점의 갯수 범위가 몇갠데?
1000 개;;;
메모리제한은?
128 MM
MB
1000x1000 = 100만 400만바이트니까 3MB정도되네 걍 인접행렬로 배열로하셈
adj_mat[Temp[0] - 1][Temp[1] - 1] = Temp[2]; 해주면 되는지;;;
ㅇㅇ 맞는데 하기전에 인접행렬은 빵으로 다 초기화를 하셈
문제가 뭐야 링크 ㄱㄱ
https://www.acmicpc.net/problem/1922
나 너무 바보인거 같다;;;;
머야 너비우선탐색 + 인접행렬로 풀면 바로 풀리겠는데?
MST 를 써서 풀고싶어서... 프림이랑 크루스칼 알고리즘 공부해야한당 ㅠ