#3#4莫名WA
查看原帖
#3#4莫名WA
479851
pujingcat楼主2022/1/21 15:14

rt,求大佬助

#include <bits/stdc++.h>
#define inf INT_MAX
#define int long long
#define N 10100
using namespace std;
int n,m,ans=0;
int dis[N];
vector<int> ct[N],ansk;
void spfa(int _x) {
	dis[_x]=0;
	queue<int> dl;
	dl.push(_x);
	while(!dl.empty()) {
		int x=dl.front();
//		cout<<x<<" "<<dis[x]<<" ; ";
		dl.pop();
		for(int i=0; i<ct[x].size(); ++i) {
			int xx=ct[x][i];
//			cout<<x<<"  "<<dis[x]<<" : "<<xx<<"  "<<dis[xx]<<" ;";
//			dl.pop();
			if(dis[x]+1<dis[xx]) {
				dis[xx]=dis[x]+1;
				dl.push(xx);
			}
		}
	}
	for(int i=1; i<=n; ++i) ans=max(ans,dis[i]);
//	cout<<"\n";
}
signed main() {
	while(1) {
		ans=0;
		scanf("%lld%lld",&n,&m);
		if(n==m&&m==0) break;
//		m=abs(m);
		for(int i=1; i<=n; ++i) ct[i].clear();
		for(int i=1; i<=m; ++i) {
			int u,v;
			scanf("%lld%lld",&u,&v);
			ct[u].push_back(v),ct[v].push_back(u);
		}
		for(int k=1; k<=n; ++k) {
			for(int i=1; i<=n; i++) dis[i]=inf;
			spfa(k);
		}
		ansk.push_back((int)((int)ans*(int)100));
	}
	for(int i=0;i<ansk.size();++i) printf("%lld\n",ansk[i]);
	return 0;
}
2022/1/21 15:14
加载中...