十分感谢@Deep_Kevin的部分指导帮助
去博客看大图
点赞再走呗
#include<bits/stdc++.h> using namespace std; const int N=5e4+10; long long t,n,m,x,y,der[N],sum; void init(){ memset(der,0,sizeof der); sum=0; } int main(){ for(cin>>t;t--;){ cin>>n>>m; init(); for(int i=0;i<m;i++){ cin>>x>>y; der[x]++, der[y]++; } for(int i=1;i<=n;i++) sum+=(n-1-der[i])*der[i]; sum>>=1; if(n*(n-1)*(n-2)/6-sum>0) puts("yes"); else puts("no"); } return 0; }
#include<bits/stdc++.h> using namespace std; const int N=10; int x,y,a[N][N],n,m,flag,t; void init(){ memset(a,0,sizeof a); } int main(){ for(cin>>t;t--;){ init(); cin>>n>>m; for(int i=0;i<m;i++){ cin>>x>>y; if(n<6) a[x][y]=a[y][x]=1; } if(n>=6) puts("yes"); else{ flag=0; for(int i=1;i<=n&&!flag;i++) for(int j=1;j<=n&&!flag;j++) for(int k=1;k<=n&&!flag;k++) if(i!=j&&i!=k&&j!=k) if(a[i][j]==a[j][k]&&a[i][j]==a[k][i]){ flag=1; break; } if(flag) puts("yes"); else puts("no"); } } return 0; }