HDU 5971 2016ICPC大连 A: Wrestling Match(二分图判断)
题意:这题难在题意。。
因为题面太尴尬了所以直接转了吧,据说很多写法都能过
有n个点m条边的图,已知有x个点是黄色的,y个点是红色的(最后的x+y行输入的是这些点的编号)
问是否能将这个图转化成二分图,并且满足所有的黄点都在左边,所有的红点都在右边
二分图判断问题
只不过这题要先从已经有颜色的点开始搜起
#include<stdio.h>
#include<vector>
#include<string.h>
using namespace std;
vector<int> G[1005];
int ok, col[1005];
void Sech(int u)
{int i, v;for(i=0;i<G[u].size();i++){v = G[u][i];if(col[u]==col[v])ok = 0;else if(col[v]==-1){col[v] = col[u]^1;Sech(v);}}
}
int main(void)
{int n, m, i, u, v, x, y;while(scanf("%d%d%d%d", &n, &m, &x, &y)!=EOF){memset(col, -1, sizeof(col));for(i=1;i<=n;i++)G[i].clear();for(i=1;i<=m;i++){scanf("%d%d", &u, &v);G[u].push_back(v);G[v].push_back(u);}for(i=1;i<=x;i++){scanf("%d", &u);col[u] = 1;}for(i=1;i<=y;i++){scanf("%d", &v);col[v] = 0;}if(x==0 && y==0){printf("NO\n");continue;}ok = 1;for(i=1;i<=n;i++){if(col[i]!=-1)Sech(i);}for(i=1;i<=n;i++){if(col[i]==-1){col[i] = 1;Sech(i);}}if(ok)printf("YES\n");elseprintf("NO\n");}return 0;
}
HDU 5971 2016ICPC大连 A: Wrestling Match(二分图判断)相关推荐
- HDU 5981 2016ICPC大连 K: Guess the number(推理)
题意: A在[L, R]之间随机选取一个数X,之后B来猜这个数,如果猜的数比X小,那么A就告诉B猜小了,如果猜的数大于X,那么以后A永远只会回答B是否猜对了,问在最坏的情况下B至少要猜多少次,并求出有 ...
- shift-and(HDU 5972 2016ICPC大连 B: Regular Number)
题意: 有一个长度为n的子串,这个子串有多种形态,也就是每一位都可以是几个数的其中一个,还有一个母串str[] 如果某种形态的子串可以和母串匹配上,就说明这个子串是有价值的 输出所有的有价值的形态(按 ...
- HDU 5975 2016ICPC大连 E: Aninteresting game(树状数组原理)
题意: 有n个集合,第i个集合里面包含在范围[i-lowbit(i)+1, i]内的所有数 有2种询问,1 x y表示集合a到集合b的长度和:2 x表示有多少个集合里面包含数字x 对于第二个询问非常简 ...
- 树的点分治(HDU 5977 2016ICPC大连 G: Garden of Eden)
题意: 有一棵n个节点的数,每个点都有一个值(1<=pi<=k),问有多少条路径满足包含1到k中的所有数字 可以想到状压+树形dp,但是开dp[50005][1025]的数组内存占用过大, ...
- HDU 5976 2016ICPC大连 F: Detachment(找规律)
题意: 将n拆成a1+a2+a3+-+ax的形式(ai≠aj),让a1*a2*a3*-*ax的值最大,求这个最大值 找规律 n=35:2+3+4+5+6+7+8: max:2*3*4*5*6 ...
- HDU 5974 2016ICPC大连 D: A Simple Math Problem
题意: 已知①x+y=a:②LCM(x, y)=b,给出a和b问是否有x和y满足条件(x<y) 假设x' = x/Gcd(x,y),y' = y/Gcd(x,y)那么有 暴力枚举Gcd(x, y ...
- HDU 5980 2016ICPC大连 J: Find Small A
题意: 一个int型占4个字节,一个char型占1个字节,也就是说可以将一个int型"拆成"4个char型,如果拆完之后其中一个同等于字母'a',则说明这个int型"包含 ...
- HDU 5979 2016ICPC大连 I: Convex
题意: 一个凸n边形每个顶点到原点的距离都相等,并且与原点有条连线,这n条连线把多边形分成了n个三角形 已知每个三角形坐标系原点的那个夹角的度数,求多边形面积 直接用三角形面积公式:S = 1/2*a ...
- HDU 5978 2016ICPC大连 H: To begin or not to begin
题意: 黑色盒子里有n个白球,1个红球,两个人轮流取球,先取出红球的胜利 对于不同的n,先手优势输出1,劣势输出2,平等输出0 n=1,显然概率为1/2,平等 n=2,第一发取到白球概率是2/3也就是 ...
最新文章
- Exchange Server 2007客户端访问协议部署SSL
- Atitit 发帖机系列(7) 词法分析的方法attilax大总结)
- RUNOOB python练习题1
- 深入::first-letter的研究
- 怎样更改计算机ip用户名,无法修改系统IP地址
- redis value最大值_Redis基础知识整理
- 运维专家写给运维工程师的 6 条人生忠告
- java内存溢出无法创建线程_kafka生产者发送消息失败导致内存溢出java.lang.OutOfMemoryError:Java heap space,请教如何解决?...
- python源代码文件加密
- Xshell的安装及使用超详细教程
- python遍历json_python3如何遍历json数据
- Jedis的hget方法简单用法
- Excel如何批量删除所有空格
- 计算机主板cpu的电源接口类型,给力:主板CPU电源的4pin和8pin有什么区别?
- 【详细】endnote中英文文献混排
- unll是什么意思_javascript中null是什么意思?
- Knowledge graph, Freebase, Wikidata三大知识图谱
- 【Matlab】Matlab将mat文件保存为txt文件
- Java-Swing内嵌网页判断网址类型
- 【Linux下的性能测试】(三) : nmon图形分析
热门文章
- python和c 的区别-C++/C/JAVA/Python之间的区别?
- python入门指南txt-BeginnersGuide
- python入门指南-Python 30分钟入门指南
- python练习题及答案-python装饰器练习题及答案
- 博越同级别没对手!敢和同级别quot;王者quot;硬碰硬!
- 后端ajaxPost请求传给前端的显示乱码问题
- linux gradle目录结构,android studio中,project和module的目录结构
- 【狂神MySQL笔记】常用命令行语句(1)
- 【宽度优先搜索】计蒜客:蒜头君回家(带条件的BFS)
- python释放变量内存_看完2019年阿里巴巴Python面试题详解,月薪3万不是梦