P2185 公路通行税

由于边权为 11,直接广搜并且 O(n2)O(n^2) 枚举两点后取最大值即可通过本题。并不需要用到最短路等其他做法。注意多测清空。复杂度比最短路算法更优,无需注意什么其他问题。

#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <queue>
#include <cmath>
#include <cstring>
using namespace std;

const int N = 1005;
vector<int> G[N];
int d[N][N], n, m;

void bfs(int u)
{
	d[u][u] = 0;
	queue<int> q;
	q.push(u);
	while (q.size())
	{
		int ux = q.front();
		q.pop();
		for (int j : G[ux])
		{
			if (d[u][j] == -1)
			{
				d[u][j] = d[u][ux] + 1;
				q.push(j);
			}
		}
	}
}

int main()
{
	while (scanf("%d%d", &n, &m) && !(!n && !m))
	{
		for (int i = 1; i <= n; i++)
		{
			G[i].clear();
			for (int j = 1; j <= n; j++) d[i][j] = -1;
		}
		for (int i = 1; i <= m; i++)
		{
			int u, v;
			scanf("%d%d", &u, &v);
			G[u].emplace_back(v);
			G[v].emplace_back(u);
		}
		int maxn = 0;
		for (int i = 1; i <= n; i++) bfs(i);
		for (int i = 1; i <= n; i++)
		{
			for (int j = 1; j <= n; j++) maxn = max(maxn, d[i][j]);
		}
		printf("%d\n", 100 * maxn);
	}
	return 0;
}
posted @   HappyBobb  阅读(8)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示