【链接】http://acm.hdu.edu.cn/showproblem.php?pid=6152


【题意】


有一个队伍,如果队伍里有三个或三个以上的人互相认识 或者队伍里有三个或三个以上的人互相不认识,那么这个队伍为bad team, 否则为great team。

【题解】


参考上一篇文章的求3元环做法。

只不过在两张图上进行而已.

两个递归可以合在一起写的。

(不是朋友的话标记这条边为0,是朋友标记这条边为1)

在标记为0的图上做一遍,在标记为1的图上做一遍.

【错的次数】


0

【反思】


【代码】

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define lson l,m,rt<<1
  4. #define rson m+1,r,rt<<1|1
  5. #define LL long long
  6. #define rep1(i,a,b) for (int i = a;i <= b;i++)
  7. #define rep2(i,a,b) for (int i = a;i >= b;i--)
  8. #define mp make_pair
  9. #define pb push_back
  10. #define fi first
  11. #define se second
  12. #define ms(x,y) memset(x,y,sizeof x)
  13. #define ri(x) scanf("%d",&x)
  14. #define rl(x) scanf("%lld",&x)
  15. #define rs(x) scanf("%s",x+1)
  16. #define oi(x) printf("%d",x)
  17. #define ol(x) printf("%lld",x)
  18. #define oc putchar(' ')
  19. #define os(x) printf(x)
  20. #define all(x) x.begin(),x.end()
  21. #define Open() freopen("F:\\rush.txt","r",stdin)
  22. #define Close() ios::sync_with_stdio(0)
  23. #define ll long long
  24. using namespace std;
  25. const int MAXN = 3e3+100;
  26. bool ar[MAXN][MAXN];
  27. bool v[MAXN][2];
  28. int n;
  29.  
  30. bool dfs(int i,int dad,bool f)
  31. {
  32. v[i][f]=true;
  33. rep1(j,1,n){
  34. if(j==i) continue;
  35. if(ar[i][j]==f){
  36. if(i!=dad&&j!=dad&&i!=j&&ar[j][dad]==f)
  37. return true;
  38. if(!v[j][f])
  39. if(dfs(j,i,f)) return true;
  40. }
  41. }
  42. return false;
  43. }
  44.  
  45. main()
  46. {
  47. int t;
  48. ri(t);
  49. while(t--){
  50. ms(v,0);
  51. ri(n);
  52. rep1(i,1,n-1){
  53. rep1(j,1,n-i){
  54. int tem;
  55. ri(tem);
  56. ar[i][i+j]=ar[i+j][i]=tem;
  57. }
  58. }
  59. bool f=1;
  60. rep1(i,1,n){
  61. if(!v[i][0]){
  62. if(dfs(i,i,0)) f=0;
  63. }
  64. if(!v[i][1]){
  65. if(dfs(i,i,1)) f=0;
  66. }
  67. if(!f) break;
  68. }
  69. if(f)
  70. puts("Great Team!");
  71. else
  72. puts("Bad Team!");
  73. }
  74. return 0;
  75. }

【2017中国大学生程序设计竞赛 - 网络选拔赛】Friend-Graph的更多相关文章

  1. HDU 6154 - CaoHaha's staff | 2017 中国大学生程序设计竞赛 - 网络选拔赛

    /* HDU 6154 - CaoHaha's staff [ 构造,贪心 ] | 2017 中国大学生程序设计竞赛 - 网络选拔赛 题意: 整点图,每条线只能连每个方格的边或者对角线 问面积大于n的 ...

  2. HDU 6150 - Vertex Cover | 2017 中国大学生程序设计竞赛 - 网络选拔赛

    思路来自 ICPCCamp /* HDU 6150 - Vertex Cover [ 构造 ] | 2017 中国大学生程序设计竞赛 - 网络选拔赛 题意: 给了你一个贪心法找最小覆盖的算法,构造一组 ...

  3. HDU 6156 - Palindrome Function [ 数位DP ] | 2017 中国大学生程序设计竞赛 - 网络选拔赛

    普通的数位DP计算回文串个数 /* HDU 6156 - Palindrome Function [ 数位DP ] | 2017 中国大学生程序设计竞赛 - 网络选拔赛 2-36进制下回文串个数 */ ...

  4. HDU 6154 CaoHaha's staff(2017中国大学生程序设计竞赛 - 网络选拔赛)

    题目代号:HDU 6154 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6154 CaoHaha's staff Time Limit: 2000/1 ...

  5. 2017中国大学生程序设计竞赛 - 网络选拔赛 HDU 6155 Subsequence Count 矩阵快速幂

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6155 题意: 题解来自:http://www.cnblogs.com/iRedBean/p/73982 ...

  6. 2017中国大学生程序设计竞赛 - 网络选拔赛 HDU 6154 CaoHaha's staff(几何找规律)

    Problem Description "You shall not pass!"After shouted out that,the Force Staff appered in ...

  7. 2017中国大学生程序设计竞赛 - 网络选拔赛 HDU 6152 Friend-Graph(暴力搜索)

    题目传送:http://acm.hdu.edu.cn/showproblem.php?pid=6152 Problem Description It is well known that small ...

  8. 2017中国大学生程序设计竞赛 - 网络选拔赛 1004 HDU 6153 A Secret (字符串处理 KMP)

    题目链接 Problem Description Today is the birthday of SF,so VS gives two strings S1,S2 to SF as a presen ...

  9. 2017中国大学生程序设计竞赛 - 网络选拔赛 1005 HDU 6154 CaoHaha's staff (找规律)

    题目链接 Problem Description "You shall not pass!" After shouted out that,the Force Staff appe ...

  10. 2017中国大学生程序设计竞赛 - 网络选拔赛 1003 HDU 6152 Friend-Graph (模拟)

    题目链接 Problem Description It is well known that small groups are not conducive of the development of ...

随机推荐

  1. 开放融合 | “引擎级”深度对接!POLARDB与SuperMap联合构建首个云原生时空平台

    阿里巴巴新一代自研云数据库POLARDB与超图软件SuperMap GIS实现 “引擎级”深度对接,构建了自治.弹性.高可用的云原生时空数据管理平台联合解决方案,推出了业界首个“云原生数据库+云原生G ...

  2. UNP学习 高级I/O函数

    首先为一个I/O函数设置超时,这有三种方法.然后是三个read和write函数的变体: recv和send,他们可以把含有标志的第四个参数从进程传给内核: readv和writev这两个函数可以指定一 ...

  3. POJ 2528(线段树+离散化+特殊离散化)网上博客很少有人真正写对!!! 是POJ数据太水...

    Description The citizens of Bytetown, AB, could not stand that the candidates in the mayoral electio ...

  4. JavaScript 六种继承方式

    title: JS的六种继承方式 date: 2017-06-27 05:55:49 tags: JS categories: 学习 --- 继承是面向对象编程中又一非常重要的概念,JavaScrip ...

  5. Python基础教程(005)--为什么要学习Python?

    前言 为什么要选择Python学习 知识点 因为Python代码量少. 同样一个问题,用不同的语言,代码量差距还是很大的.一半情况下,Python是java的1比5,所以说,人生苦短,我用Python ...

  6. Mysql安装和简单设置

    MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的.如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQL将会安装在C:\P ...

  7. ABP的新旧版本

    新版本 https://abp.io/documents/abp/latest/Index https://github.com/abpframework/abp ABP is an open sou ...

  8. leetcode的一些贪心题目

    11-盛最多水的容器 思路:定义2个指针分别指向数组的两端,找出两边缘最小的那个,然后乘以两边缘的距离,然后向中间搜索,移动一次算出结果比较取最大的. class Solution { public: ...

  9. php把网络图片转Base64编码。(php将图片链接直接转化为base64编码)

    /** 把网络图片图片转成base64 * @param string $img 图片地址 * @return string */ /*网络图片转为base64编码*/ public function ...

  10. JSP 取list的长度

    引入:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> L ...