8.20.2 Friend-Graph

任务描述

本关任务:众所周知,小团体不利于团队的发展。因此,在一个好的团队里不应该有任何小团体。 在 n 个成员的团队中,如果有三个或更多成员彼此不是朋友,或者有三个或更多成员彼此是朋友,那么具有这种情况的团队就是一个坏团队;否则,这个团队就是好团队。 一家公司将对自己公司的每一个团队进行评估。已知团队有 n 个成员,以及在这 n 个成员之间的所有的朋友关系。请判断这个团队是不是一个好的团队。

编程要求

根据提示,在右侧编辑器补充代码。

测试说明

输入描述: 输入的第一行给出测试用例的数量 T;然后给出 T 个测试用例,T<=15。 每个测试用例的第一行给出一个整数 n,表示在这个团队里人员的数量,n≤3000。 接下来给出 n - 1 行,第 i 行给出 n - i 个数,其中 aij​表示第 i 个成员和第 j + i 个成员之间的关系,0表示两人不是朋友,1表示两人是朋友。

输出描述: 如果这个团队是一个好团队,则输出"Great Team!";否则输出"Bad Team!"

平台会对你编写的代码进行测试:

测试输入: 1 4 1 1 0 0 0 1 预期输出: Great Team!

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cstring>
#include<iostream>
#include<sstream>
#include<cmath>
#include<vector>
#define LL long long
#define INF 0x3f3f3f3f
#define eps 1e-6
using namespace std;
using namespace std;
const LL mod = 1e9 + 7;
int mp[10][10];
int n;
int T;
int main()
{
    scanf("%d",&T);
    while(T--){
        scanf("%d",&n);
        memset(mp,0,sizeof(mp));
        if(n>=6){
        for(int i = 1;i<=n;i++){
            for(int j = 1;j<=n-i;j++){
                int x;
                scanf("%d",&x);
            }
        }
        }
        else{
            for(int i = 1;i<=n;i++){
            for(int j = 1;j<=n-i;j++){
                int x;
                scanf("%d",&x);
                mp[i][i+j] =x;
                mp[i+j][i] = x;
            }
        }
        }
        if(n>=6){
            puts("Bad Team!");
        }
        else{
                int falg = 1;
            for(int i = 1;i<=n;i++){
                for(int j = 1;j<=n;j++){
                    for(int k = 1;k<=n;k++){
                        if(i==j||j==k||i==k)
                            continue;
                        if(mp[i][j]==1&&mp[i][k]==1&&mp[j][k]==1){
                            falg= 0;
                            //cout<<"fuck1"<<endl;
                        }
                        if(mp[i][j]==0&&mp[i][k]==0&&mp[j][k]==0){
                            //cout<<i<<' '<<j<<' '<<k<<endl;
                            //cout<<"fuck2"<<endl;
                            falg = 0;
                        }
                    }
                }
            }
            if(falg)
                puts("Great Team!");
            else
                puts("Bad Team!");
        }
    }
}

猜你喜欢

转载自blog.csdn.net/jianguosongzi/article/details/132639485