Pagini recente » Cod sursa (job #887926) | Cod sursa (job #1146406) | Cod sursa (job #961484) | Cod sursa (job #2930630) | Cod sursa (job #2154066)
#include<bits/stdc++.h>
#define pb push_back
#define maxn 5010
using namespace std;
ifstream f("feisbuc.in");
ofstream g("feisbuc.out");
int n,m,nv[maxn],cv[maxn],nrc;
bool v[maxn];
vector < int > a[maxn];
void DFS(int i)
{
v[i] = true;
for(size_t j = 0; j < a[i].size(); j ++)
{
nv[a[i][j]] = nv[i] + 1;
if(v[a[i][j]] == false)
DFS(a[i][j]);
if(nv[a[i][j]] > cv[nrc])
cv[nrc] = nv[a[i][j]];
}
}
void citire()
{
f>>n>>m;
for(size_t i = 1; i <= m; i ++)
{
int x,y;
f>>x>>y;
a[x].pb(y);
a[y].pb(x);
}
}
int main()
{
int lamaieinceai = 0;
citire();
for(size_t i = 1; i <= n; i ++)
{
if(v[i] == false)
{
nrc ++;
DFS(i);
}
}
g<<nrc<<" ";
for(size_t i = 1; i <= nrc; i ++)
if((cv[i] / 2 + 1) > lamaieinceai)
lamaieinceai = cv[i] / 2 + 1;
g<<lamaieinceai;
}