题意:这题难在题意。。

因为题面太尴尬了所以直接转了吧,据说很多写法都能过

有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(二分图判断)相关推荐

  1. HDU 5981 2016ICPC大连 K: Guess the number(推理)

    题意: A在[L, R]之间随机选取一个数X,之后B来猜这个数,如果猜的数比X小,那么A就告诉B猜小了,如果猜的数大于X,那么以后A永远只会回答B是否猜对了,问在最坏的情况下B至少要猜多少次,并求出有 ...

  2. shift-and(HDU 5972 2016ICPC大连 B: Regular Number)

    题意: 有一个长度为n的子串,这个子串有多种形态,也就是每一位都可以是几个数的其中一个,还有一个母串str[] 如果某种形态的子串可以和母串匹配上,就说明这个子串是有价值的 输出所有的有价值的形态(按 ...

  3. HDU 5975 2016ICPC大连 E: Aninteresting game(树状数组原理)

    题意: 有n个集合,第i个集合里面包含在范围[i-lowbit(i)+1, i]内的所有数 有2种询问,1 x y表示集合a到集合b的长度和:2 x表示有多少个集合里面包含数字x 对于第二个询问非常简 ...

  4. 树的点分治(HDU 5977 2016ICPC大连 G: Garden of Eden)

    题意: 有一棵n个节点的数,每个点都有一个值(1<=pi<=k),问有多少条路径满足包含1到k中的所有数字 可以想到状压+树形dp,但是开dp[50005][1025]的数组内存占用过大, ...

  5. 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 ...

  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 ...

  7. HDU 5980 2016ICPC大连 J: Find Small A

    题意: 一个int型占4个字节,一个char型占1个字节,也就是说可以将一个int型"拆成"4个char型,如果拆完之后其中一个同等于字母'a',则说明这个int型"包含 ...

  8. HDU 5979 2016ICPC大连 I: Convex

    题意: 一个凸n边形每个顶点到原点的距离都相等,并且与原点有条连线,这n条连线把多边形分成了n个三角形 已知每个三角形坐标系原点的那个夹角的度数,求多边形面积 直接用三角形面积公式:S = 1/2*a ...

  9. HDU 5978 2016ICPC大连 H: To begin or not to begin

    题意: 黑色盒子里有n个白球,1个红球,两个人轮流取球,先取出红球的胜利 对于不同的n,先手优势输出1,劣势输出2,平等输出0 n=1,显然概率为1/2,平等 n=2,第一发取到白球概率是2/3也就是 ...

最新文章

  1. Exchange Server 2007客户端访问协议部署SSL
  2. Atitit 发帖机系列(7) 词法分析的方法attilax大总结)
  3. RUNOOB python练习题1
  4. 深入::first-letter的研究
  5. 怎样更改计算机ip用户名,无法修改系统IP地址
  6. redis value最大值_Redis基础知识整理
  7. 运维专家写给运维工程师的 6 条人生忠告
  8. java内存溢出无法创建线程_kafka生产者发送消息失败导致内存溢出java.lang.OutOfMemoryError:Java heap space,请教如何解决?...
  9. python源代码文件加密
  10. Xshell的安装及使用超详细教程
  11. python遍历json_python3如何遍历json数据
  12. Jedis的hget方法简单用法
  13. Excel如何批量删除所有空格
  14. 计算机主板cpu的电源接口类型,给力:主板CPU电源的4pin和8pin有什么区别?
  15. 【详细】endnote中英文文献混排
  16. unll是什么意思_javascript中null是什么意思?
  17. Knowledge graph, Freebase, Wikidata三大知识图谱
  18. 【Matlab】Matlab将mat文件保存为txt文件
  19. Java-Swing内嵌网页判断网址类型
  20. 【Linux下的性能测试】(三) : nmon图形分析

热门文章

  1. python和c 的区别-C++/C/JAVA/Python之间的区别?
  2. python入门指南txt-BeginnersGuide
  3. python入门指南-Python 30分钟入门指南
  4. python练习题及答案-python装饰器练习题及答案
  5. 博越同级别没对手!敢和同级别quot;王者quot;硬碰硬!
  6. 后端ajaxPost请求传给前端的显示乱码问题
  7. linux gradle目录结构,android studio中,project和module的目录结构
  8. 【狂神MySQL笔记】常用命令行语句(1)
  9. 【宽度优先搜索】计蒜客:蒜头君回家(带条件的BFS)
  10. python释放变量内存_看完2019年阿里巴巴Python面试题详解,月薪3万不是梦