Friend-Graph

Problem Description

It is well known that small groups are not conducive of the development of a team. Therefore, there shouldn’t be any small groups in a good team.
In a team with n members,if there are three or more members are not friends with each other or there are three or more members who are friends with each other. The team meeting the above conditions can be called a bad team.Otherwise,the team is a good team.
A company is going to make an assessment of each team in this company. We have known the team with n members and all the friend relationship among these n individuals. Please judge whether it is a good team.

 

 

Input

The first line of the input gives the number of test cases T; T test cases follow.(T<=15)
The first line od each case should contain one integers n, representing the number of people of the team.(n≤3000)

Then there are n-1 rows. The ith row should contain n-i numbers, in which number aij represents the relationship between member i and member j+i. 0 means these two individuals are not friends. 1 means these two individuals are friends.

 

 

Output

Please output ”Great Team!” if this team is a good team, otherwise please output “Bad Team!”.

 

 

Sample Input

1

4

1 1 0

0 0

1

 

 

Sample Output

Great Team!

 

 

 

 

 

#include<algorithm>

#include<iostream>

#include<cstdio>

#include<cstring>

using namespace std;

int a[3008];

int main()

{

    int T;

    scanf("%d",&T);

    while(T--)

    {

        int n;

        scanf("%d",&n);

        int i,j,x;

        memset(a,0,sizeof(a));

        for(i=1;i<=n-1;i++)

        {

            for(j=1;j<=n-i;j++)

            {

                //printf("%d ",j+i);

                scanf("%d",&x);

                if(x==1)

                {

                    a[i]++;

                    a[j+i]++;

                }

            }

        }

        bool flag=false;

        int sum=0;

        for(i=1;i<=n;i++)

        {

            if(a[i]==0)

                sum++;

            if(sum>=3||a[i]>=3)

            {

                flag=true;

                break;

            }

        }

        if(flag)

            printf("Bad Team!\n");

        else

            printf("Great Team!\n");

    }

    return 0;

}

 

百度翻译:

众所周知,小团体不利于团队的发展。因此,在一个好的团队中不应该有任何小团体。

 

在一个有n个成员的团队中,如果有三个或更多的成员不是彼此的朋友,或者有三个或更多的成员是彼此的朋友。符合以上条件的球队可以称为坏队,否则,球队是一支好球队。

 

一家公司将对这家公司的每一个团队进行评估。我们知道N个成员的团队和N个人之间所有的朋友关系。请判断它是否是一个好的团队。

 

输入

 

输入的第一行给出了测试用例tt测试用例的数量(t = 15)。

 

第一行的OD每个案例应该包含一个整数n,代表团队的人数(N3000)。

 

然后有n-1行。第i行应包含N-1个数,其中Aij表示数量关系的成员我和成员J +0意味着这两个人不是朋友。1意味着这两个人是朋友。

 

输出

 

请输出“伟大的团队”!“如果这支球队是一支好球队,否则请输出“坏队”!“。

 

 

代码挺简单的一道题,然而这个题意。。。一直没读懂= = 。。。后来别人讲的。。。

不连通 12认识,13认识,不代表23就认识了。然后输入的时候注意一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值