社区讨论
65pts,bfs,求条
P14921[GESP202512 七级] 城市规划参与者 2已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mk3ygukn
- 此快照首次捕获于
- 2026/01/07 19:49 上个月
- 此快照最后确认于
- 2026/01/10 17:15 上个月
dij和bfs都用过,一个55一个65(这个),longlong开过,但是没区别,看了看题解,和这个也差不多,找不到问题,样例也没过
CPP#include <bits/stdc++.h>
using namespace std;
const int N = 2005;
const int INF = INT_MAX;
int n, m, u, v, maxn, sum = INF, ans = 1;
vector<int> G[N];
int dis[N];
void dijkstra(int s) {
queue<int> q;
memset(dis, INF, sizeof(dis));
q.push(s);
dis[s] = 0;
while (!q.empty()) {
int tmp = q.front(); q.pop();
for (auto it : G[tmp]) {
if (dis[it] > dis[tmp] + 1) {
dis[it] = dis[tmp] + 1;
q.push(it);
}
}
}
}
signed main() {
scanf("%d%d", &n, &m);
for (int i = 1; i <= m; i++) {
scanf("%d%d", &u, &v);
G[u].push_back(v);
G[v].push_back(u);
}
for (int i = 1; i <= n; i++) {
dijkstra(i);
maxn = 0;
for (int j = 1; j <= n; j++) maxn = max(maxn, dis[j]);
if (maxn < sum) sum = maxn, ans = i;
}
printf("%d", ans);
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...