#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
using namespace std;
bool a[205];
int mp[205][205];
queue <int>Q;
int n;
void bfs(int k)
{
    a[k]=1;
    Q.push(k);
    while(!Q.empty())
    {
        int u=Q.front();
        Q.pop();
        for(int i=1;i<=n;i++)
            if(!a[i]&&mp[u][i])
            {
                a[i]=1;
                mp[k][i]=1;
                Q.push(i);
            }
    }
}
int main()
{
    int k,t=0,ans=0,cnt=1;
    cin>>n>>k;
    for(int i=1;i<=k;i++)
    {
        int u,v;
        scanf("%d%d",&u,&v);
        mp[u][v]=mp[v][u]=1;
    }
    for(int i=1;i<=n;i++)
        if(!a[i])
            bfs(i);
    memset(a,0,sizeof(a));
    for(int i=1;i<=n;i++)
    {
        cnt=1;
        if(!a[i])
        {
            a[i]=1;t++;
            for(int j=i+1;j<=n;j++)
            {
                if(!a[j]&&mp[i][j])
                    a[j]=1;cnt++;
            } 
            ans=max(ans,cnt);
        }
            
    }
    cout<<t<<" "<<ans<<endl;
}
//哪错了????????????

0 条评论

目前还没有评论...

信息

ID
1587
难度
8
分类
(无)
标签
递交数
13
已通过
5
通过率
38%
被复制
8
上传者