题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1003&cid=779

题目大意:给一个团队的关系图,问这个团队是不是好团队,判定依据是这个团队没有三个人互相认识,也没有三个人互相不认识,则为好团队。

关键思想:根据Ramsey定理,当n>=6时,一定存在“3个人互相认识或3个人互相不认识”。故当n>=6时,只需输出"Bad Team",当n<6时,对原图及其补图DFS暴力就行了,如果四层回不到自己,就说明自己不在小圈子里。

代码如下:

#include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;int Relation[6][6];
bool vis[6];
bool flag;
int T,n;void DFS(int start,int now,int cnt){//起点,当前点,环的长度 if(!flag)return; if(cnt==4&&now==start){flag=false;return;}for(int i=0;i<n;i++){if(Relation[now][i]&&!vis[i]){vis[i]=true;DFS(start,i,cnt+1);vis[i]=false;} }return;
}int main(){scanf("%d",&T);while(T--){scanf("%d",&n);for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){scanf("%d",&Relation[i][j]);Relation[j][i]=Relation[i][j];    }}if(n>=6){//Ramsey定理 cout<<"Bad Team!"<<endl;continue;}flag=true;memset(vis,0,sizeof(vis));for(int i=0;i<n;i++){if(flag) DFS(i,i,1);//从i开始,环长度为1
        }if(flag)cout<<"Great Team!"<<endl;else cout<<"Bad Team!"<<endl;}return 0;
} 

循环暴力也能过

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <cmath>
using namespace std;
int T, n;
bool Relation[3010][3010];int main() {scanf("%d", &T);while (T--) {memset(Relation,0,sizeof(Relation));scanf("%d", &n);for (int i=0;i<n;i++) {for (int j=i+1;j<n;j++) {scanf("%d", &Relation[i][j]);}}bool flag = true;for (int i=0;i<n;i++) {for (int j=i+1;j<=n;j++) {for (int k=j+1;k<=n;k++) {if (!Relation[i][j] && !Relation[i][k] && !Relation[j][k]) {flag=false;break;}if (Relation[i][j] && Relation[i][k] && Relation[j][k]) {flag=false;break;}}if(flag)break; }if(flag)break;}if (flag) printf("Great Team!\n");else printf("Bad Team!\n");}return 0;
}

转载于:https://www.cnblogs.com/G-M-WuJieMatrix/p/7397793.html

2017中国大学生程序设计竞赛 - 网络选拔赛 [1003 - Friend-Grapht] 图论相关推荐

  1. 2017中国大学生程序设计竞赛 - 网络选拔赛 [1005 - CaoHaha's staff] 贪心

    题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1005&cid=779 题目大意:在一个二维坐标网格里画线,可 ...

  2. 2018中国大学生程序设计竞赛-网络选拔赛题解

    以下所有AC题解程序来自"仙客传奇"团队. A. Buy and Resell AC的C++语言程序: #include<iostream> #include<c ...

  3. Buy and Resell 2018中国大学生程序设计竞赛 - 网络选拔赛

    题目 题意: n个宝石,宝石的买入或卖出价格固定,一天只能到一个珠宝商店(从左到右),问最大利润是多少?在保证最大利润的同时最少交换次数是多少? 题解: 题目有两问:一个是求利润,一个是求次数 利润就 ...

  4. 2018中国大学生程序设计竞赛 – 网络选拔赛 1001 Buy and Resell [模拟]

    1001 Buy and Resell  题目:有1-n个货物,可以在某个点buy,然后在后面的点resell,可以同时买多个,问最大的利润和最小的交易次数. 题解:模拟运算,前 i 天都是可以买的, ...

  5. 2018中国大学生程序设计竞赛 - 网络选拔赛

    传送门 A.HDU6438 Buy and Resell 题意 给你N天N个价格,每天都可以从1.买入一个,2.卖出一个,3.什么都不做,求最高获利 低买高卖问题,这题与其他的差距就是要在满足获利最多 ...

  6. 挑战程序设计竞赛_我系首次参加第六届中国大学生程序设计竞赛网络预选赛

    点击上方蓝字关注  「龙外信息工程系」 讲述有温度的故事    传递有态度的思想 2020年9月20日12时至17时,第六届中国大学生程序设计竞赛网络赛预选赛在杭州电子科技大学OJ成功举办,黑龙江外国 ...

  7. 2017中国大学生程序设计竞赛-哈尔滨站(2/13)

    F.Permutation 题意 给一个n,构造一个1~n的序列使得  pi ≡ 0 ( mod |pi−pi−2| ) for i=3...n 分析 直接暴力让p[i]- p[i-2]=1,先安排奇 ...

  8. 2020中国大学生程序设计竞赛(CCPC) - 网络选拔赛 1005 Lunch (杭电 6892)

    2020中国大学生程序设计竞赛(CCPC) - 网络选拔赛 1005 Lunch (杭电 6892)(类尼姆博弈) #include<cstdio> #include<iostrea ...

  9. 第五届CCPC中国大学生程序设计竞赛落幕 清华夺冠! 南大、浙大分获二、三名

    经过11 月 16 - 17日两日激烈的比赛,第五届中国大学生程序设计竞赛( CCPC2019)总决赛于 17 日落下帷幕.清华大学"三个顶俩"战队从全国119支参赛队伍中脱颖而出 ...

最新文章

  1. MySQL性能与磁盘读写的关系及优化策略
  2. python浪漫表白代码
  3. python代码大全下载-大神整理的python资源大全
  4. 阿里开源的那个牛X的问题排查工具——Arthas,推出IDEA插件了!
  5. java 鼠标拖动图形_java怎么实现鼠标在桌面拖动过程中 画 矩形的 功能?
  6. 死磕java并发cas_死磕Java——CAS
  7. js随机生成4位验证码
  8. jQuery中$(document).ready()和window.onload的区别?
  9. C++自动类型推导 : auto 与 decltype 用法
  10. 开发板屏幕截图-适用于本公司海思和智源平台
  11. php ajax mysql 分页查询_PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
  12. xtrabackup备份还原
  13. typeof的用法 typeof的返回值是一个字符串 返回的字符串类别
  14. php mysql orm_PHP基于ORM操作MySQL数据库 - strtolower
  15. Node.js最新最详细安装教程(2020)
  16. keybindings.json
  17. python抽样不同花色纸牌_Python 数据模型 一摞Python风格的纸牌
  18. python 取整法(进一取值)
  19. 读《了不起的盖兹比》于海生译版 有感
  20. Mybatis配置Mapper踩过的坑

热门文章

  1. 计算机应用基础知识贴吧,2022成都华大*卫生学校贴吧
  2. python的本质_python变量的实质
  3. linux使用nmcli连接无线网络
  4. 凑零钱(递归法简洁AC)
  5. 编写程序,完成找零钱任务
  6. Unity 自定义字体 新功能 一
  7. 查看浏览器的cpu占用率
  8. 买什么样的运动型蓝牙耳机好、运动型蓝牙耳机推荐
  9. Linux入门和安装
  10. Dialog显示加载中