#include <stdio.h>
#include <string.h>
#define black 1
#define white -1
int already[];
int in[];
int gr[][];
int n;
int v[];
int pf,pe; int dfs(int a,int color){
v[a]=color;
int i;
int sign;
for(i=;i<=n;++i){
if(i==a) continue;
if(gr[a][i]&&v[i]==){
if((sign=dfs(i,-color))==-) return -;
}else if(gr[a][i]&&v[i]==color){
return -;
}
}
return ;
}
int judge(){
int i;
int sign;
memset(v,,sizeof(v));
for(i=;i<=n;++i){
if(==v[i]){
if((sign=dfs(i,black))==-) return -;
}
}
return ;
} int find(int a){
int i;
for(i=;i<=n;++i){
if(v[i]==white&&gr[a][i]&&!in[i]){
in[i]=;
if(already[i]==||find(already[i])){
already[i]=a;
return ;
}
}
}
return ;
}
int main(){
int m;
int i,j;
int res;
while(~scanf("%d%d",&n,&m)){
res=;
memset(gr,,sizeof(gr));
while(m--){
scanf("%d%d",&i,&j);
gr[i][j]=;
gr[j][i]=;
}
if(judge()==-){
printf("No\n");
continue;
} memset(already,,sizeof(already));
for(i=;i<=n;++i){
memset(in,,sizeof(in));
if(v[i]==black)
if(find(i))
res++;
}
printf("%d\n",res);
}
return ;
}

hdu2444的更多相关文章

  1. HDU2444 The Accomodation of Students —— 二分图最大匹配

    题目链接:https://vjudge.net/problem/HDU-2444 The Accomodation of Students Time Limit: 5000/1000 MS (Java ...

  2. hdu2444 判断二分图+最大匹配

    #include<stdio.h> #include<string.h> #include<queue> using namespace std; #define ...

  3. hdu2444(判二分图+最大匹配)

    传送门:The Accomodation of Students 题意:有n个学生,m对相互认识的,问能否分成两队,使得每对中没有相互认识的,如果可以求最大匹配,否则输出No. 分析:判断二分图用染色 ...

  4. 染色法判断是否是二分图 hdu2444

    用染色法判断二分图是这样进行的,随便选择一个点, 1.把它染成黑色,然后将它相邻的点染成白色,然后入队列 2.出队列,与这个点相邻的点染成相反的颜色 根据二分图的特性,相同集合内的点颜色是相同的,即 ...

  5. hdu2444二分图最大匹配+判断二分图

    There are a group of students. Some of them may know each other, while others don't. For example, A ...

  6. HDU2444 The Accomodation of Students【匈牙利算法】

    题意: 有n个学生,有m对人是认识的,每一对认识的人能分到一间房,问能否把n个学生分成两部分,每部分内的学生互不认识,而两部分之间的学生认识.如果可以分成两部分,就算出房间最多需要多少间,否则就输出N ...

  7. HDU2444 The Accomodation of Students

    The Accomodation of Students Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  8. HDU2444(KB10-B 二分图判定+最大匹配)

    The Accomodation of Students Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  9. hdu2444 The Accomodation of Students(推断二分匹配+最大匹配)

    //推断是否为二分图:在无向图G中,假设存在奇数回路,则不是二分图.否则是二分图. //推断回路奇偶性:把相邻两点染成黑白两色.假设相邻两点出现颜色同样则存在奇数回路. 也就是非二分图. # incl ...

随机推荐

  1. Shell Python 日期和时间戳的互相转换

    一.初衷: 很多时候,时间的存储都是时间戳格式,如果需要展示就要转化成标准格式日期.也许会需要date和timestamp互转. 二.方法: 1.Shell下对date和timestamp的互转,是通 ...

  2. 给Mac下的iTerm2增加配色

    iterm2就不说了,Mac下非常好用的终端,这里就先谈谈如何给其增加配色,效果如下图 可以来这下载theme : http://iterm2colorschemes.com/ 1.先编辑你的prof ...

  3. ajax实现的无刷新分页代码实例

    一.html代码部分: <table class="table style-5">   <thead id="t_head">     ...

  4. Python标准库——走马观花

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python有一套很有用的标准库(standard library).标准库会随着 ...

  5. Python深入02 上下文管理器

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 上下文管理器(context manager)是Python2.5开始支持的一种语 ...

  6. java小程序 质数

    package com.test; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; im ...

  7. [Flex] ButtonBar系列——皮肤和外观设置

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  8. 组播(Multicast)传输

    组播(Multicast)传输: 在发送者和每一接收者之间实现点对多点网络连接. 如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包.它提高了数据传送效率.减少了骨干网络出现拥 ...

  9. POJ题目分类(转)

    初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推. ...

  10. Mingyang.net:hibernate.hbm2ddl.auto配置详解【转】

    原文地址:http://www.cnblogs.com/feilong3540717/archive/2011/12/19/2293038.html hibernate.cfg.xml 中hibern ...