其他分享
首页 > 其他分享> > Diameter of Graph

Diameter of Graph

作者:互联网

#include<iostream>

using namespace std;
int t;
long long n,m,k,p,x;
bool solve(){
	if(n==1){
		if(m>0||k-1<1) return false;
		else return true;
	}
	else{
		if(n-1<=m){
			if(m==n*(n-1)/2){
				if(k-1>1) return true;
				else return false;
			}
			else if(m<n*(n-1)/2){
				if(k-1>2) return true;
				else return false;
			}
			else return false;
		}	
		else return false;
	}
}
int main(){
	cin>>t;
	while(t--){
		cin>>n>>m>>k;
		if(solve()){
			cout<<"YES"<<endl;
		}
		else cout<<"NO"<<endl;
	}
	return 0;
}

n个点 最少需要n-1条边联通,最多需要n*(n-1)/2条边

特判n=1

n-1=<m<n*(n-1)/2时连接方式如图

 m==n*(n-1)/2时 每个点都相连

标签:Diameter,false,int,Graph,long,else,条边,return
来源: https://blog.csdn.net/YG47_/article/details/120584348