如题 样例输入:
3 2
1 2
1 3
代码如下:
#include <bits/stdc++.h>
#define int long long
#define MAXN 0x3f3f3f3f3f3f3f3f
#define MINN -0x3f3f3f3f3f3f3f3f
#define Trubiacy ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
using namespace std;
#define u first
#define dep second
typedef pair<int,int> pii;
const int N=1e5+29;
int n,m,ans=MAXN;
bool vis[N];
vector<int> a[N];
int bfs(int s){
int res=0;
queue<pii> q;
memset(vis,0,sizeof vis);
q.push({s,0});
while(q.size()){
//cout<<q.size()<<endl;
int u=q.front().u;
int dep=q.front().dep;
q.pop();
res=max(res,dep);
if(res>ans) return res;
for(auto v:a[u]){
// cout<<1;
if(vis[v]) continue;
if(v<s) return MAXN;
q.push({v,dep+1});
}
}
return res;
}
signed main(){
// Trubiacy;
int Tracy=1;
// int Tracy; cin>>Tracy;
while(Tracy--){
cin>>n>>m;
// cout<<1;
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
a[u].push_back(v);
a[v].push_back(u);
}
for(int i=1;i<=n;i++){
// cout<<1;
ans=min(ans,bfs(i));
}
cout<<ans;
}
return 0;
}
找了好久了没找出来【悲