问题 C: PK没有女朋友
时间限制: 1 Sec 内存限制: 128 MB

[提交][状态][讨论版]
题目描述
因为 PK 上个月没有去师范看她女朋友,所以 PK 的女朋友最近又不理他了。异地恋实在是太辛苦了,理工到师范的距
离,对于他来说,就像是驻马店到广州的距离。
曾有诗这样写道:

世上最遥远的距离,不是生与死的距离,不是天各一方,而是我就站在你面前,你却不知道我爱你。

PK 决定要送给他的女朋友一条项链,希望能挽回女朋友的心,但他长期打 ACM 已经分辨不出什么是项链了,所以想请
你帮帮他。
在PK 眼中,他所买的东西就是个 n个点和 m 条边构成的无向图(……)。判断这个图是不是项链,我们要做以下三
件事情:

  • 首先我们要在图上找一个环。而且我们要保证在图上只能找到这一个环。
  • 环上可以长出一些树,这些树的根都在环上。树应该由至少一个节点组成,但为了美观起见,应该要能找到至少 3 棵
    树。
  • 重边和自环是不允许出现的。不然女孩子有可能不小心把头伸进里面,然后出不来……
    换句话说合格的图应该保证只有一个环,可以组成至少3棵树,没有重边和自环。
    如果满足以上三个条件, PK 就会非常高兴,并大叫一声 Bingo。否则,他的女朋友就会和他分手……

输入
第一行,给出 n, m (1 ≤ n ≤ 100, 0 ≤ m ≤ 10^5 )

接下来m行,每一行有两个整数 ui,vi(1<=ui,vi<=n ),表示ui,vi之间有边相连 。可能存在重边和自环 .

输出
如果是项链则输出 Bingo,否则输出 Break up。
样例输入

6 6
6 3
6 4
5 1
2 5
1 4
5 4

样例输出

Bingo

提示
/*
本题会可以出一个结论:
要存在一个三元以上的环,没有自环,并且所有点都连通,那么点数要等于边数

不连通,点数不等于边数

本题要求没有重边,且没有自环,即如图所示情况:

那么本题可以在输入边的时候判断有没有重边和自环。
之后再看点数n是否等于边m,如果都满足条件,再来一遍dfs判断所有的点是否连通。
*/
ac_code:

#include <bits/stdc++.h>
using namespace std;
vector<int>mp[105];
bool link[105][105];
bool vis[105];
void dfs(int s)
{int iSize = mp[s].size();for(int i = 0; i < iSize; i++){int to = mp[s][i];if(!vis[to]){vis[to] = true;dfs(to);}}return;
}
int main()
{int n,m;scanf("%d%d",&n,&m);int u,v,flag = 1;for(int i = 0; i < m; i++){scanf("%d%d",&u,&v);if(!link[u][v]&&!link[v][u]){mp[u].push_back(v);mp[v].push_back(u);link[u][v] = true;//link[v][u] = true;}else{flag = 0;}}if(!flag||n!=m){puts("Break up");return 0;}else{dfs(1);for(int i = 1; i <= n; i++){if(!vis[i]){puts("Break up");return 0;}}}puts("Bingo");return 0;
}

问题 C: PK没有女朋友(判断是否存在1个三元环,dfs)相关推荐

  1. 南阳理工学院ACM多乐赛暨16级退役纪念赛 C PK没有女朋友

    题目来源:http://acm.nyist.edu.cn/problem/1663 题目描述: 因为 PK上个月没有去师范看她女朋友,所以PK 的女朋友最近又不理他了.异地恋实在是太辛苦了,理工到师范 ...

  2. 笔面集锦:判断单链表里面是否有环及相关扩展题

    源于网络 1.如何判断单链表里面是否有环? 设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环 ...

  3. 【算法】图(一)拓扑排序的实现 图的邻接表算法 判断是否图G中存在环

    文章目录 用list来表示图,判断是否存在环 邻接表实现拓扑排序 用DFS(邻接矩阵) 来实现拓扑排序. 判断无向图顶点是否全部连通 判断图G中从顶点u到v是否存在简单路径 输出图G中从顶点u到v的所 ...

  4. 判断图有无环_判断无向图/有向图中是否存在环

    本文主要针对如何判断有向图/无向图中是否存在环的问题进行简单的论述. 一 无向图 1.利用DFS进行判断 利用DFS判断有向图是否存在环,是最为常用的一种方法,虽然这种方法很常用,但可参考的代码的实现 ...

  5. 用python 判断一个单链表是否有环

    文章目录 用python 判断一个单链表是否有环. 第二次做DAY20201130 [141. 环形链表](https://leetcode-cn.com/problems/linked-list-c ...

  6. 判断一个单链表是否有环,若有,找出环的入口节点

    题目:如何判断一个单链表是否有环?若有环,如何找出环的入口节点. 一.单链表是否有环 思路分析: 单链表有环,是指单链表中某个节点的next指针域指向的是链表中在它之前的某一个节点,这样在链表的尾部形 ...

  7. 判断一个链表中是否有环

    如何判断一个链表中是否存在环: 设置两个指针,开始都指向链表头,然后其中一个指针每次向前走一步,另一个指针每次向前走两步,如果快的遇到NULL了,证明该链表中没有环,如果有环,快的指针每次都要比慢的多 ...

  8. 王道书 P217 T02 + 拓展 (判断无向连通图是否有环)

    /*** 王道书 P217 T02 + 拓展 :判断无向连通图是否有环** ①算法思想* 若是一棵树,首先是连通的,判断连通的方法:* 1° 如果只调用了一次Traverse里面的DFS()或者BFS ...

  9. 数据结构和算法设计专题之---判断单链表中是否有环,环的长度,环的入口节点...

    题目: 给定一个单链表,只给出头指针head: 1.如何判断是否存在环? 2.如何知道环的长度? 3.如何找出环的连接点在哪里? 4.带环链表的长度是多少?   解法: 1.对于问题1,使用追赶的方法 ...

最新文章

  1. ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password‘ cannot be loaded
  2. 使用JSTL视图探索Spring Controller
  3. PaperNotes(19)-Learning Lane Graph Representations for Motion Forecasting
  4. 要开始研究.NET了
  5. 利用OpenSmtp.Net发送需要smtp验证的邮件
  6. ACGAN(Auxiliary Classifier GAN)详解与实现(tensorflow2.x实现)
  7. 《结对-航空购票系统-开发环境搭建过程》
  8. 基于SSM的宠物商城系统
  9. 《UNIXLinux程序设计教程》一1.3 UNIX基本概念
  10. 频收罚单的浦发银行:增收不增利,曾遭骗贷数亿元,内控缺位?
  11. 软件工程用的15种图
  12. (转)推荐一个在Linux/Unix上架设ASP.NET的 WEB服务器--Jexus
  13. GlobalSign 发布了即将要修改代码签名证书的重要通知
  14. Android华为HiAI语音识别的集成与使用
  15. 面试华为必备:华为18级大牛呕心沥血三年整理的 趣谈网络协议
  16. RedisDesktopManager死活连接不上,网上的各种方法都失败了,可能于网络策略配置有关!!!
  17. 李开复:人工智能时代的科学家创业
  18. 李彦宏提案的思路:基于实践、崇尚技术、关注民生
  19. web浏览器 DNS服务器 web服务器与网站相关知识
  20. weblogic t3 协议利用与防御

热门文章

  1. sqlite3 c语言编程,SQLite教程(十三):C语言编程实例代码(1)
  2. linux内核线性地址等于物理地址,Linux 从虚拟地址到物理地址
  3. 设置linearlayout最大高度_高位消防水箱设置要求及历年真题
  4. 机器学习(一)线性回归
  5. windows 的mysql5.7安装
  6. 使用jena 进行RDF推理
  7. 2019 序列号_抖音发布2019年度报告;苹果序列号;熊猫互娱进入破产程序
  8. 苹果x可以双卡吗_苹果12支持双卡吗
  9. 机器学习基础-支持向量机 SVM-17
  10. linux学习项目,[ Linux运维学习 ] 路径及实战项目合集