链接:https://nanti.jisuanke.com/t/16876

题意:给定一个无向图,求是否含3个或以上有根树,且根在同一个环上。

分析:只含一个环,剩下的都是树,因此必然有n==m,满足这一条件后,找环,环的大小不小于3即满足条件。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 const int maxn=105;
 6 int G[maxn][maxn];
 7 int p[maxn],n,m,c[maxn];
 8 int Find(int x){return p[x]==x?x:p[x]=Find(p[x]);}
 9 int main(){
10     int x,y;
11     memset(G,0,sizeof(G));
12     memset(c,0,sizeof(c));
13     scanf("%d%d",&n,&m);
14     for(int i=1;i<=n;i++)p[i]=i;
15     for(int i=0;i<m;i++){
16         scanf("%d%d",&x,&y);
17         G[x][y]=1;G[y][x]=1;
18         c[x]++;c[y]++;
19         int s=Find(x),t=Find(y);
20         if(s!=t){
21             p[s]=t;
22         }
23     }
24     if(m!=n){
25         cout<<"SAD"<<endl;return 0;
26     }
27     for(int i=1;i<=n;i++){
28         if(Find(i)!=Find(1)){
29             cout<<"SAD"<<endl;return 0;
30         }
31     }
32     while(1){
33         bool ok=true;
34         for(int i=1;i>=n;i++){
35             if(c[i]==0)continue;
36             if(c[i]==1){
37                 for(int j=1;j<=n;j++){
38                     c[j]-=G[i][j];
39                     G[j][i]=G[i][j]=0;
40                 }
41                 c[i]=0;
42                 ok=false;
43                 break;
44             }
45         }
46         if(ok)break;
47     }
48     int coun=0;
49     for(int i=1;i<=n;i++)if(c[i])coun++;
50     if(coun>=3)cout<<"HAPPY"<<endl;
51     else cout<<"SAD"<<endl;
52     return 0;
53 }

转载于:https://www.cnblogs.com/7391-KID/p/7478766.html

ACM 竞赛高校联盟 练习赛 第六场 韩梅梅的抽象画(图论水题)相关推荐

  1. ACM 竞赛高校联盟 练习赛 第二场 BC

    B. 题解: 枚举约数即可,判断n个数能否填约数的整数倍 #include <iostream> #include <cstring> #include <cstdio& ...

  2. 计蒜客 ACM竞赛高校联盟训练赛 第8场 煎牛排

    水一水. https://nanti.jisuanke.com/t/24205 煎牛排 题目描述 又是一个难得的周六,是时候远离食堂和外卖出去大吃一顿了.圈内知名吃货AA正想着中午去吃汉堡炸鸡烤肉火锅 ...

  3. 牛客网暑期ACM多校训练营(第六场)J Heritage of skywalkert

    题目链接:https://www.nowcoder.com/acm/contest/144/J 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K ...

  4. 牛客网暑期ACM多校训练营(第六场)J-Heritage of skywalkert

    链接:https://www.nowcoder.com/acm/contest/144/J 来源:牛客网 题目描述 skywalkert, the new legend of Beihang Univ ...

  5. 牛客网暑期ACM多校训练营(第六场) - (A,C,J)

    比赛链接:https://www.nowcoder.com/acm/contest/144#question A Singing Contest 题意:有编号1~2^n的2^n个人参加唱歌比赛,每人有 ...

  6. 牛客网暑期ACM多校训练营(第六场) C.Generation I (思维+逆元+组合数学)

    题目链接 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 Oak is given N e ...

  7. 山东省高校组队训练邀请赛——AC题目(4AC:3水题,1扩展欧几里得)

    按AC顺序 问题 J: Too Expensive to Buy a House 时间限制: 1 Sec  内存限制: 128 MB 提交: 141  解决: 101 [提交][状态][讨论版] 题目 ...

  8. 2021年ACM竞赛班训练(六)题解

    2021年ACM竞赛班训练(六)题解 ==Problem A 逆元== 题目描述 输入 输出 题目分析 代码 ==Problem B&C 五一假期前最后一题&女神的考验== 题目描述 ...

  9. ACM如何入门,ACM竞赛需要学习哪些算法?

    #################成绩################## 大一:2017年4月份"玲珑杯"河南工业大学2017年ACM程序设计大赛暨河南高校邀请赛,获得银奖 20 ...

最新文章

  1. 谁能解答我对知识图谱的上百个疑问?
  2. python-study-12
  3. dotnet 从零开始写一个人工智能 网络模型
  4. python os库使用
  5. Android移动端开发代码规范与格式化工具
  6. Ubuntu 20.04配置FTP服务方法(非匿名登录)
  7. 用VBS脚本实现软件定条件开启
  8. DB2入门(5)——DB2配置文件
  9. 安平仓管王 5000xp v2.9 免费下载
  10. 对swift开发中的unwinding segue的一些理解
  11. 大话设计模式:第27章 解释器模式
  12. Kuangbin 带你飞-线段树专题 题解
  13. 定义一个方法,使用随机的字母+数字生成一个6位数的密码
  14. 如何实现数据库的读写分离
  15. java进行参数快捷校验,ehi-verification
  16. PyTorch之分布式操作中的Barrier
  17. android 儿童 汉字 学习 游戏,儿童游戏学汉字升级版
  18. 《JSP实用教程(第2版)/耿祥义》错误之“发呆”时间
  19. 从零开始快速配置个人博客
  20. 玛塔机器人函数_USA Today旗下专家详测!玛塔机器人到底靠什么打动了歪果仁?...

热门文章

  1. HTML 内容不能被选择,不能被复制
  2. java取下一天的零点
  3. RestTemplate与Feign使用对比
  4. spring-cloud熔断和负载均衡
  5. 《重构》-重新组织函数
  6. 【HTTPS运维神器】终于等到你!MySSL企业版重磅上线!
  7. spring原理学习
  8. 解决freebsd下root默认不能用ssh连接
  9. How to Install MariaDB 10 on CentOS 6.7
  10. 深入 JVM 字节码,解析类加载、链接、初始化、创建对象、对象初始化、程序执行的流程