Friend-Graph
来源:互联网 发布:tscttp244plus软件 编辑:程序博客网 时间:2024/06/07 14:58
Friend-Graph
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6514 Accepted Submission(s): 1610
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.
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. Thei th 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.
The first line od each case should contain one integers n, representing the number of people of the team.(
Then there are n-1 rows. The
Output
Please output ”Great Team!” if this team is a good team, otherwise please output “Bad Team!”.
Sample Input
141 1 00 01
Sample Output
Great Team!
开3000 3000的数组就炸内存,真是气得要死啊,还有三个人的队伍要特判。。以为暴力要超时,结果没超,真是道。。。
#include<cstdio>#include<cstring>int a[1500][3000],b[3010],c[3010];int main(){ int t,n,i,j,k,p,r; scanf("%d",&t); while(t--){ scanf("%d",&n);memset(a,0,sizeof(a)); for(i=1;i<=n;i++){ for(j=i+1;j<=n;j++){ if(i<1500)scanf("%d",&a[i][j]); else scanf("%d",&a[3000-i][3000-j]); } } int flag=0,x,y; if(n<=2){ printf("Great Team!\n");continue; } if(n==3)if(a[1][2]&&a[1][3]&&a[2][3]){ printf("Great Team!\n");continue; } for(i=1;i<n;i++){ k=0;p=0; if(i<1500) for(j=i+1;j<=n;j++){ if(a[i][j])b[k++]=j;else c[p++]=j; } else for(j=i+1;j<=n;j++){ if(a[3000-i][3000-j])b[k++]=j;else c[p++]=j; } for(j=0;j<k;j++){ for(r=j+1;r<k;r++){ if(b[j]<1500)x=b[j],y=b[r]; else x=3000-b[j],y=3000-b[r]; if(a[x][y]){flag++;break;} } if(flag)break; } if(flag)break; for(j=0;j<p;j++){ for(r=j+1;r<p;r++){ if(b[j]<1500)x=c[j],y=c[r]; else x=3000-c[j],y=3000-c[r]; if(a[x][y]==0){flag++;break;} } if(flag)break; } if(flag)break; } if(flag)printf("Bad Team!\n"); else printf("Great Team!\n"); }}
阅读全文
0 0
- Friend-Graph
- Friend-Graph
- Friend-Graph
- Friend-Graph
- Friend-Graph
- Friend-Graph
- HDU_6152 Friend-Graph 【暴力】
- Friend-Graph (暴力)
- HDU6152 Friend-Graph【模拟】
- HDU 6152 Friend-Graph
- HDU 6152 Friend-Graph
- Friend-Graph(hdoj6152)
- Friend-Graph 1003
- hdu-6152 Friend-Graph
- hdu6152 Friend-Graph
- HDU 6152 Friend-Graph
- HDU 6152 Friend-Graph
- HDU6152-Friend-Graph
- 17muduo_base库源码分析(八)
- 不愿看到Java开发者再做的10件事
- OpenJudge Pell数列
- 题目1038:Sum of Factorials
- poj3241 曼哈顿最小生成树
- Friend-Graph
- Intellij IDEA创建maven项目无java文件问题
- 关于安卓内存溢出
- bootstarp-switch根据查询值修改初始显示状态
- 给单元素艺术添加动画
- hessian矩阵
- kinect深度图与彩图匹配
- a标签中href=""的几种用法
- js中加“var”和不加“var”的区别