题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1191

题意:

  有m道题,每答对一题才能接着回答下一个问题。

  你一道题都不会,但是你有n个“锦囊妙计”(每个只能用一次)。

  对于每道题,你只能用该题规定的两种锦囊中的一种,来解决这道题。

  问你最多能解决多少道题。

题解:

  二分图最大匹配。

  匈牙利算法。

  

  问题与锦囊匹配。

  最大匹配即为最多回答数。

  但是题目中要求题目必须连续回答,不能中断。

  所以在给每一个问题配对时,一旦匹配不上,就终止匹配。

AC Code:

 #include <iostream>
#include <stdio.h>
#include <string.h>
#define MAX_N 1005 using namespace std; int n,m;
int ans=;
int match[MAX_N];
bool vis[MAX_N];
bool edge[MAX_N][MAX_N]; bool hungary(int now)
{
for(int i=;i<n;i++)
{
if(edge[now][i] && !vis[i])
{
vis[i]=true;
if(match[i]==- || hungary(match[i]))
{
match[i]=now;
return true;
}
}
}
return false;
} void read()
{
memset(edge,false,sizeof(edge));
cin>>n>>m;
int a,b;
for(int i=;i<m;i++)
{
cin>>a>>b;
edge[i][a]=true;
edge[i][b]=true;
}
} void solve()
{
memset(match,-,sizeof(match));
for(int i=;i<m;i++)
{
memset(vis,false,sizeof(vis));
if(hungary(i)) ans++;
else break;
}
} void print()
{
cout<<ans<<endl;
} int main()
{
read();
solve();
print();
}

最新文章

  1. 获取&lt;img src=&quot;sdf.jpg&quot; Big=&quot;sf.jpg&quot;&gt;中的big的值
  2. 黄聪:Access-Control-Allow-Origin,JS跨域解决办法
  3. cocos2d ios 环境搭建
  4. Hark的数据结构与算法练习之臭皮匠排序
  5. SQLServer查询速度慢的原因
  6. hdu 1018
  7. 解决UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters in position 问题(转)
  8. 异常:failed for object com.sdu.crm.pojo.Customer@136a986 [java.lang.NullPointerException]
  9. iOS开源库--最全的整理
  10. Luogu 1006 传纸条 / NOIP 2008 传纸条(动态规划)
  11. table行随鼠标变色
  12. 【Python】动手分析天猫内衣售卖数据,得到你想知道的信息
  13. Eclipes导入工程
  14. 判断字符串是否为正整数 &amp; 浮点小数
  15. Vim——回顾整理
  16. webstrom 安装Babel
  17. L2-022 重排链表(链表)
  18. Html解析
  19. 【Mybatis】&lt;foreach&gt;标签在mybatis中的使用
  20. POJ 2019 Cornfields [二维RMQ]

热门文章

  1. Async.js解决Node.js操作MySQL的回调大坑
  2. Shell脚本之:替换
  3. android位置布局
  4. 【转载】Asp.Net页面生命周期
  5. H5网页判断手机横屏或是竖屏
  6. java中Executor、ExecutorService、ThreadPoolExecutor介绍
  7. 11-利用session校验图片认证码
  8. linearLayout 和 relativeLayout的属性区别
  9. Mac修改默认python版本
  10. kaptcha的和springboot一起使用的简单例子