hdu 6152 Friend-Graph(拉姆齐定理)

来源:互联网 发布:星星知我心第二部全集 编辑:程序博客网 时间:2024/05/22 01:47

Friend-Graph

题目链接:Friend-Graph

题意:给出n个人的关系,如果其中有三个人(或三个以上)相互认识或相互不认识,就输出Bad Team!,否则输出Great Team!

思路:拉姆齐定理
对于n≥6的情况,直接输出Bad Team!
n<6,直接暴力判断即可

代码:

#include<bits/stdc++.h>using namespace std;const int maxn=3e3+5;bool mp[maxn][maxn];bool judge(int n){    for(int i=1; i<=n-2; ++i)        for(int j=i+1; j<=n-1; ++j)            for(int l=j+1; l<=n; ++l)                if((mp[i][j]&&mp[i][l]&&mp[j][l])||(!mp[i][j]&&!mp[i][l]&&!mp[j][l]))                    return false;    return true;}int main(){    int t,n,x;    scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        for(int i=1; i<n; ++i)            for(int j=i+1; j<=n; ++j)            {                scanf("%d",&x);                mp[i][j]=mp[j][i]=x;            }        if(n>=6)        {            printf("Bad Team!\n");            continue;        }        if(judge(n))            printf("Great Team!\n");        else            printf("Bad Team!\n");    }    return 0;}
原创粉丝点击