Submission #558087

#TimeUsernameProblemLanguageResultExecution timeMemory
558087status_codingNewspapers (CEOI21_newspapers)C++14
4 / 100
3 ms2644 KiB
#include <bits/stdc++.h>

using namespace std;

int n,m;

vector<int> v[100005];

int fr[100005];

void dfs(int p, int par, int d)
{
    fr[d]++;

    for(int it : v[p])
    {
        if(it == par)
            continue;

        if((int)v[it].size() == 1)
            continue;

        dfs(it, p, d+1);
    }
}

int main()
{
    cin>>n>>m;

    if(m > n-1)
    {
        cout<<"NO";
        return 0;
    }

    for(int i=1;i<n;i++)
    {
        int x, y;
        cin>>x>>y;

        v[x].push_back(y);
        v[y].push_back(x);
    }

    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
            fr[j] = 0;

        dfs(i, 0, 1);

        bool ok = true;

        for(int j=1;j<=n;j++)
            if(fr[j] > 1)
                ok=false;

        if(ok)
        {
            cout<<"YES\n";
            cout<<"1 1";
            return 0;
        }
    }

    cout<<"NO";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...