eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Центр дерева

опубликовано 06.05.2022, 19:37:47

for(int i=1; i<=n; i++) { sz[i]=g[i].size(); if(sz[i]==1) { q.push(i); used[i]=1; dis[i]=0; } }

while(!q.empty())
{
    int s=q.front();
    q.pop();

    for(int u : g[s])
    {
        if(!used[u])
        {
            sz[u]--;
            if(sz[u]==1)
            {
                used[u]=1;
                q.push(u);
                dis[u]=dis[s]+1;
            }
        }
    }
}