풀이
돌리고 돌리고 돌리고~
코드
#include <cstdio>
#include <cstring>
#include <vector>
#include <queue>
using namespace std;
int n, m, dst[5005];
vector<int> gph[5005];
int bfs(int start) {
int ret = 0;
queue<int> que;
memset(dst, 0, sizeof(dst));
que.push(start);
while (!que.empty()) {
int now = que.front();
que.pop();
ret += dst[now];
for (int nxt : gph[now]) {
if (dst[nxt]) continue;
dst[nxt] = dst[now] + 1;
que.push(nxt);
}
}
return ret;
}
int main() {
scanf("%d %d", &n, &m);
for (int i = 0; i < m; i++) {
int u, v;
scanf("%d %d", &u, &v);
gph[u].push_back(v);
gph[v].push_back(u);
}
int mcnt = 1e9, midx = 1;
for (int i = 1; i <= n; i++) {
int ret = bfs(i);
if (ret < mcnt) {
mcnt = ret, midx = i;
}
}
printf("%d", midx);
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이