社区讨论

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 条回复,欢迎继续交流。

正在加载回复...