描述
输入一个无向图,判断这个图是不是一个完全图。
输入
输入第一行两个整数 n(1 <= n <= 100) 和 m(1 <= m <= 20000),表示输入点数和边数。
接下来 m 行,每行输入两个整数 u, v(1 <= u, v <= n),表示 u 和 v 之前有一条无向边。
输入中不存在自己到自己的边,但是可能会有重复的边。
输出
如果输入的图是一个完全图,输出"Yes",否则输出"No"。
输入样例 1
3 3
1 2
2 3
3 1
输出样例 1
Yes
输入样例 2
3 3
1 2
2 1
3 1
输出样例 2
No

方法一:
#include<bits/stdc++.h>
using namespace std;
long long a[102][102];////图的邻接矩阵
int n,m,u,v,t=1;
int main() {
cin>>n>>m;
for(int i=1;i<=m;i++) {
cin>>u>>v;
a[u][v]=1;a[v][u]=1;//无向图的无向边
}
for(int i=1;i<=n;i++) {
for(int j=i+1;j<=n;j++) {
if(a[i][j]!=1) t=0;}}
if(t==0){cout << "No";}
else {cout << "Yes";}

这篇博客介绍了如何判断一个无向图是否为完全图。输入包含点数n和边数m,以及连接各点的无向边信息。通过检查边的数量是否符合完全图的条件,即边数等于n*(n-1)/2,来确定图是否完全。博客提供了两种方法进行判断,并给出了样例输入和输出。
最低0.47元/天 解锁文章
4959

被折叠的 条评论
为什么被折叠?



