Cod sursa(job #2154066)

Utilizator XNutzuXCrisiarcu Ionut XNutzuX Data 6 martie 2018 18:01:15
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#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;
}