题目来源:http://acm.nyist.edu.cn/problem/1663
题目描述:

因为 PK上个月没有去师范看她女朋友,所以PK 的女朋友最近又不理他了。异地恋实在是太辛苦了,理工到师范的距离,对于他来说,就像是驻马店到广州的距离。
曾有诗这样写道:
世上最遥远的距离,不是生与死的距离,不是天各一方,而是我就站在你面前,你却不知道我爱你。
PK决定要送给他的女朋友一条项链,希望能挽回女朋友的心,但他长期打 ACM 已经分辨不出什么是项链了,所以想请你帮帮他。
在眼中,他所买的东西就是个n个点和m条边构成的无向图(……)。判断这个图是不是项链,我们要做以下三件事情:
1.首先我们要在图上找一个环。而且我们要保证在图上只能找到这一个环。
2.环上可以长出一些树,这些树的根都在环上。树应该由至少一个节点组成,但为了美观起见,应该要能找到至少 3 棵树。
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 46 5
5 6
4 6
3 1
5 1
1 2
样例输出:
Bingo
Break up

解法1
满足:
1.n==m
2.n>=3
3.没有重边和自环
就是项链
解法2
直接依照题意搜索(待补

/**
6 6
6 3
6 4
5 1
2 5
1 4
5 46 5
5 6
4 6
3 1
5 1
1 2
**/
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<vector>
#include<map>
#define ll long long
const int N=1e5+5;
#define inf 0x3f3f3f3f
using namespace std;
#define mem(a,b) memset(a,b,sizeof(a))
struct node
{int n,m,k;
}xl[N];
int ans,sum,n,m,flag;
vector<int> tu[105];
ll a[105][105],b[105],check[105],vis[105];
void dfs(int x){for(int i=0;i<tu[x].size();i++){if(!vis[tu[x][i]]){vis[tu[x][i]]=1;check[tu[x][i]]=ans;dfs(tu[x][i]);}}
}
bool dfss(int x,int y){if(b[x]==1)sum++;if(xl[y].n-sum<3)return false;for(int i=0;i<tu[x].size();i++){if(!vis[tu[x][i]]){int k=tu[x][i];vis[k]=1;if(!dfss(k,y))return 0;}}return 1;
}
int main(){int x,y,i;while (cin>>n>>m) {mem(xl, 0);mem(a, 0);for (i = 1; i <= m; i++) {cin >> x >> y;if (a[x][y] == 0) {tu[x].push_back(y);tu[y].push_back(x);}a[x][y]++;a[y][x]++;b[x]++;b[y]++;}if (n != m || n < 3) {cout << "Break up" << endl;return 0;}vis[xl[i].k] = 1;mem(vis, 0);mem(check, 0);ans = 0;for (i = 1; i <= n; i++) {if (!vis[i]) {vis[i] = 1;ans++;check[i] = ans;dfs(i);}}for (i = 1; i <= n; i++) {int k = check[i];xl[k].n++;for (int j = 1; j <= n; j++) {xl[k].m += a[i][j];}xl[k].k = i;}flag = 0;for (i = 1; i <= ans; i++) {if (xl[i].n == xl[i].m / 2 && xl[i].n >= 3) {sum = 0;memset(vis, 0, sizeof(vis));vis[xl[i].k] = 1;if (dfss(xl[i].k, i)) {flag++;}}}if (flag == 1) {cout << "Bingo" << endl;} else {cout << "Break up" << endl;}}return 0;
}

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

  1. 南阳理工学院ACM多乐赛暨16级退役纪念赛 A 食堂的座位

    题目来源:http://acm.nyist.edu.cn/problem/1661 题目描述: 又见面了!PK先生以及ACM集训队所有裁判都准备好迎接这场期待已久的比赛了,你呢?虽然裁判们对这场比赛的 ...

  2. 南阳理工学院ACM多乐赛暨16级退役纪念赛 I 成对最小公倍数

    题目来源:http://acm.nyist.edu.cn/problem/1669 题目描述: 做水题就是在浪费时间,但是一场比赛要是没有送分的签到题,大家的比赛体验就会很差.为了优化你的比赛体验又不 ...

  3. 南阳理工学院ACM多乐赛暨16级退役纪念赛野鸡题解(含代码

    A 食堂的座位:https://blog.csdn.net/nuoyanli/article/details/92444556 B PK吹泡泡:https://blog.csdn.net/nuoyan ...

  4. 南阳理工学院ACM语言入门题目1的思考

    A+B Problem 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 0 描述 此题为练手用题,请大家计算一下a+b的值 输入 输入两个数,a,b 输出 输出a+b的值 样 ...

  5. 神话是这样打破的-南阳理工学院

    2010-06-25 04:22:41 来源: 网易 南阳理工学院校园中部鸟瞰 副省长徐济超(右)向第四届河南省青年创新软件设计大赛金奖获得者陈永辉(左)颁发证书和奖金 杨叔子院士报告会 河南省实验教 ...

  6. 2017CCPC中南地区赛暨湘潭大学邀请赛总结

    1.    5月12号晚上19点的火车从南阳--->长沙坐了十个小时,第二天早上7点到了长沙,第一次坐这么长时间的硬座(为什么不坐卧铺呢..我也不知道..),很痛苦,还好的是火车上没什么人,晚上 ...

  7. 2016广东工业大学新生杯决赛网络同步赛暨全国新生邀请赛

    2016广东工业大学新生杯决赛网络同步赛暨全国新生邀请赛 Ploblem A :   pigofzhou的巧克力棒 原题链接:http://gdutcode.sinaapp.com/problem.p ...

  8. 南阳理工学院计算机国际比赛,首届中国大学生程序设计竞赛在南阳理工学院举行...

    2015首届中国大学生程序设计竞赛日前在河南省南阳理工学院举行,经过两天的激烈角逐,金银铜奖各归其主. 中国大学生程序设计竞赛(简称CCPC)是由中国大学生程序设计竞赛协会主办的面向世界大学生的国际性 ...

  9. 华为杯大学生计算机软件大赛,关于举办2018年西安电子科技大学程序设计网络赛暨第十六届“华为杯”大学生程序设计竞赛的通知...

    各学院: 程序设计是大学生运用计算机充分展示自己分析问题和解决问题能力的一个重要途径,对于培养大学生实践能力.团队意识.创新意识.顽强意志和综合素质具有显著作用和效果.为了推动这项创新性素质教育活动的 ...

最新文章

  1. 在实施OKR之前,你必须先了解这7点
  2. linux 自动化交互套件 expect 介绍 shell非交互
  3. qt 文件 时间 倒序排列_win7电脑敬业签便签软件分类标签里的内容如何按提醒时间排列?...
  4. php中命名空间重要吗,关于php:PHP中命名空间是怎样的存在一
  5. DNN(DotNetNuke)注册用户终于突破10万人了,其3.0也终于跳票了...
  6. 【面向对象】继承与封装
  7. 阿里免费开放一切AI算力的背后是什么?
  8. FCKeditor的JSP版漏洞
  9. TFN TK200光缆普查仪
  10. 云主服务器排行榜_国内云服务器排名
  11. cdr宏教程_CDR-VBA宏完整案例详解(上部)
  12. 关于游戏打击感的帖子[转]
  13. android 相机编程,Android相机开发系列
  14. 啊哈添柴挑战Java1826. 顺序输出(简单)
  15. 加多芬科技讲解目前趋势“不带钱包出门”已成趋势 无现金支付你准备好了吗?
  16. win7官方原版iso镜像_官方原版下载!Windows 10 v1909简体中文ISO镜像
  17. C语言求三个数的中间值(三目运算符)
  18. 关于Ti的C2000芯片的CBC与OSHT做两级保护说明
  19. WMS常见问题一(Activity displayed延迟)
  20. sqlserver broker远端端点证书认证

热门文章

  1. 如何删除字符串中的数字
  2. 15.1 计算几何 (用海伦公式)——【三角形的面积】
  3. ZJOI2020游记
  4. phpStudy激活码
  5. 017利用颅内和头皮脑电图进行癫痫预测的卷积神经网络2018
  6. 服务网格和 API 网关之间的差异​
  7. 转--Python标准库之一句话概括
  8. 直线电机对比直线模组有哪些优点
  9. iOS通过dSYM文件分析crash
  10. PHP在线二维码生成API源码