版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN___CSDN/article/details/87632156
http://codeforces.com/problemset/problem/1065/B
一个图,给定顶点数,边数,求解最小孤立点数和最大孤立点数
最小的话,一个边连接两个顶点成为一个整体,如果最后有多余的点,那些就是孤立的点
最大就是找完全图,完全图(自己的话)就是每一个点与另外的n-1个点都有边相连,加入的第i个点,可以消耗i-1条边。
#include <iostream>
typedef long long ll;
using namespace std;
int main ()
{
ll i,n,m;//n个结点,m条边
cin >> n >> m;
//最小值
if(n-m*2<=0)
cout << "0 ";
else
cout << n-m*2 << " ";
//最大值
ll cnt = 0,sum = 0;
while(m>0)
{
cnt++;
sum += (cnt-1);
m -= (cnt-1);
}
cout << n - cnt;
return 0;
}