加粗样式我是题目直达车
作为小白的我,花了四十分钟解了这一道签到题(没办法,不知道鸽巢原理和拉姆齐定理)
写完后看了一些题解,感觉我的思路应该算是一个新的想法,就在这里说说我的想法吧。
首先,分析题意得到两条结论:
1、我的朋友他们互不认识
2、我不认识的人必须相互认识
(其实推到这儿就可以有基本的想法了:人一多就可能永远无法满足条件,这时候就可以骗分了 )
于是乎,有1,2引申出两条结论:
一个人的朋友数量不可以达到3,证:如果朋友数量为3,由1得这三个人相互不认识–》违反了题目第一条规矩(互相不认识的人数不能超过3。
一个人不认识的人的个数也不可以达到3,证:如果不认识人数量为3,由2得这三个人互相认识–》违反了题目的第二条规矩(互相认识的人数不能超过3。
好了题目分析完毕,上代码~
#include <iostream>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n;
cin>>n;
int coun0,coun1,p = 0,x;
for(int i=n-1;i>0;i--){
coun0 = coun1 = 0;
for(int j=0;j<i;j++){
cin>>x;
if(x) coun1++;
else coun0++;
}
if(coun1>2||coun0>2)
p = 1;
}
if(p) cout<<"Bad Team!"<<endl;
else cout<<"Great Team!"<<endl;
}
return 0;
}