프로그래머스 가장 먼 노드 c++ 그래프 탐색
2023. 10. 25. 19:41ㆍ알고리즘
#include <string>
#include <vector>
#include <queue>
#include <algorithm>
#include <iostream>
using namespace std;
int N, max_n;
vector<int> v[50001];
int visited[500001];
int solution(int n, vector<vector<int>> edge) {
N=n;
int answer = 0;
for (int i=0;i<edge.size();i++){
v[edge[i][0]].push_back(edge[i][1]);
v[edge[i][1]].push_back(edge[i][0]);
}
queue<int> q;
q.push(1);
visited[1]=1;
while (!q.empty()){
int x = q.front();
q.pop();
for (int i=0;i<v[x].size();i++){
if (visited[v[x][i]]==0){
visited[v[x][i]] = visited[x]+1;
q.push(v[x][i]);
max_n = max(max_n, visited[v[x][i]]);
}
}
}
for (int i=1;i<=n;i++){
if (visited[i] == max_n){
answer++;
}
}
return answer;
}
'알고리즘' 카테고리의 다른 글
프로그래머스 연속 펄스 부분 수열의 합 c++ (1) | 2023.10.26 |
---|---|
프로그래머스 타겟넘버 c++ (0) | 2023.10.26 |
프로그래머스 베스트 앨범 c++ map (0) | 2023.10.25 |
프로그래머스 완주하지 못한 선수 해시 (0) | 2023.10.25 |
프로그래머스 폰켓몬 c++ unordered_map 해시 (0) | 2023.10.25 |