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!

题解:Team中有3个或者3个以上不是朋友或者是朋友,都输出Bad,其他输出Great。

/** By Mercury_Lc */
#include <bits/stdc++.h>
using namespace std;
int a[3005][3005];
int main()
{
int t,i,j,k,n,f;
scanf("%d",&t);
while(t--)
{
f = 0;
scanf("%d",&n);
for(i = 1; i <= n; i ++)
{
for(j = i + 1; j <= n; j ++)
{
scanf("%d",&a[i][j]);
}
}
for(i = 1; i <= n; i ++) //暴力搜索
{
for(j = i + 1; j <= n; j ++)
{
if(a[i][j]) // 是朋友关系,继续判断这两个人有没有共同朋友
{
for(k = j + 1; k <= n; k ++)
{
if(a[i][k] && a[j][k])
{
f = 1;
break;
}
}
}
else // 不是朋友关系,继续判断这两个人有没有共同朋友
{
for(k = j + 1; k <= n; k ++)
{
if(a[i][k] == 0 && a[j][k] == 0)
{
f = 1;
break;
}
}
}
if(f)break;
}
if(f)break;
}
if(f)printf("Bad Team!\n");
else printf("Great Team!\n");
}
return 0;
}

最新文章

  1. event.target指向谁?
  2. python中的binascii
  3. 关于frameset中指定区域回退的实现
  4. KMP笔记√//找最大子串,前缀自匹配长度
  5. java——JNI(例子控制台(64位)清屏
  6. redhat6.3已安装was6.1你可以不弹出安装程序
  7. Java程序员常犯的10个错误
  8. 结对作业--基于GUI的四则运算生成器
  9. time函数获取时间与本地时间不一致
  10. .NET MongoDB Driver 2.2 API注释
  11. CMDB资产管理系统开发【day26】:数据正式存入待存区
  12. ios NSTimer的强引用问题
  13. HDU 1435 Stable Match 【稳定婚姻问题】
  14. Linux后台运行java的jar包
  15. 20135337朱荟潼 Linux第六周学习总结——进程的描述和进程的创建
  16. javascript对数据处理
  17. 高可用OpenStack(Queen版)集群-3.高可用配置(pacemaker&amp;haproxy)
  18. 理解ResourceBundle.getBundle(&quot;dataSourceFactory&quot;)
  19. Java导出数据行写入到Excel表格:基于Apache POI
  20. BZOJ 2434 [Noi2011]阿狸的打字机(AC自动机)

热门文章

  1. python爬取信息并保存至csv
  2. How does a browser know which response belongs to which request?
  3. MyBatis 示例-主键回填
  4. hdu 1305 还是字典树
  5. C# Redis分布式锁的应用 - 叶子栈 - SegmentFault 思否
  6. [转载]linux的top命令中cpu信息的含义
  7. IOS开发copy,nonatomic, retain,weak,strong用法
  8. selenium在爬虫中的应用之动态数据爬取
  9. WCF和SOA的简介
  10. linux物理地址和虚拟地址