Pagini recente » Cod sursa (job #92308) | Cod sursa (job #369811) | Cod sursa (job #2354422) | Cod sursa (job #2167157) | Cod sursa (job #1225221)
#include <iostream>
#include <fstream>
#include <queue>
#include <cstring>
#include <vector>
#include <cmath>
using namespace std;
ifstream fin("amici2.in");
ofstream fout("amici2.out");
#define MAX 21010
#define pb push_back
vector<int> G[MAX];
queue <int> Q;
typedef vector <int> :: iterator iter;
int viz[MAX];
int main()
{
int t, n, m, i, x, y, nod;
fin>>t;
while(t--)
{
fin>>n>>m;
memset(viz, 0, sizeof(viz));
for(i=1;i<=n;i++)
G[i].clear();
while(m--)
{
fin>>x>>y;
G[x].pb(y);
G[y].pb(x);
}
Q.push(1);
viz[1]=1;
while(Q.size())
{
nod=Q.front();
Q.pop();
for(iter it=G[nod].begin();it!=G[nod].end();it++)
{
if(!viz[*it])
{
viz[*it]=viz[nod]+1;
Q.push(*it);
}
}
}
fout<<(int)log2(2*viz[nod]-1)<<"\n";
}
}