关闭

poj 1422 Air Raid(最小路径覆盖)

标签: 匈牙利算法acm算法二分图最小路径覆盖
729人阅读 评论(0) 收藏 举报
分类:
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int way[1001][1001],boy[1001],girl[1001];
int m,n;
bool findways(int x)
{
    for (int i=1; i<=m; i++)
    {
        if(!girl[i]&&way[x][i])
        {
            girl[i]=1;
            if (!boy[i]||findways(boy[i]))
            {
                boy[i]=x;
                return true;
            }
        }
    }
    return false;
}
int main()
{
    int a,b,sum,T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d %d",&m,&n);
        memset(way,0,sizeof(way));
        memset(boy,0,sizeof(boy));
        sum=0;
        for (int i=0; i<n; i++)
        {
            scanf("%d %d",&a,&b);
            way[a][b]=1;
        }
        for (int i=1; i<=m; i++)
        {
            memset(girl,0,sizeof(girl));
            if (findways(i)) sum++;
        }
        printf("%d\n",m-sum);
    }
    return 0;
}

0
0
查看评论

poj 1422 Air Raid(最小路径覆盖)

题意:一个地图上有n个小镇,以及连接着其中两个小镇的有向边,而且这些边无法形成回路。现在选择一些小镇空降士兵(1个小镇最多1个士兵),士兵能沿着边走到尽头,问最少空降几个士兵,能遍历完所有的小镇。 最小路径覆盖问题,因为是有向图,就可以把一条路径拆成起点和终点,从而建立二分图 最小路径覆盖 = 节点...
  • u014552756
  • u014552756
  • 2015-11-15 20:55
  • 240

poj 1422 Air Raid 最小路径覆盖

裸的最小路径覆盖,直接用匈牙利算法即可。yige
  • sepNINE
  • sepNINE
  • 2014-10-16 11:14
  • 441

poj 1422 Air Raid (最小路径覆盖)

题意:有n个点和m条有向边,现在要在点上放一些伞兵,伞兵可以沿着图走, 直到不能走为止,每条边有且仅有一个伞兵走过,问最少放多少个伞兵 思路:求的最小路径覆盖,用二分图来做 对于这样的一个有向图做最小路径覆盖,首先建图 然后每一条有向边对应左边的点指向右边的点 这样建好图之后求最大匹配数 最小路...
  • acm_code
  • acm_code
  • 2014-10-07 10:17
  • 662

POJ 1422 Air Raid (最小路径覆盖)

题目链接:http://poj.org/problem?id=1422 题意:一个小镇有n个路口,m条单向边连接2个路口,降落若干个人到路口上,人可以通过边运动,要求所有的路口有人经过,问最少要几个人 思路:最小路径覆盖=点数-二分图最大匹配 由于是无向图,拆点求出来的最大匹配...
  • csdn364988181
  • csdn364988181
  • 2015-09-29 19:32
  • 130

poj 1422 - 最小路径覆盖

题意:一个地图上有n个小镇,以及连接着其中两个小镇的有向边,而且这些边无法形成回路。现在选择一些小镇空降士兵(1个小镇最多1个士兵),士兵能沿着边走到尽头,问最少空降几个士兵,能遍历完所有的小镇。最小路径覆盖问题,因为是有向图,就可以把一条路径拆成起点和终点,从而建立二分图 最小路径覆盖 = 节点...
  • yujuan_Mao
  • yujuan_Mao
  • 2013-04-28 23:52
  • 1324

POJ 1422 Air Raid(DAG最小路径覆盖)

POJ 1422 Air Raid(DAG最小路径覆盖) http://poj.org/problem?id=1422 题意:        城市里通过交点->交点(有向)标示一条街道(不存在回路)。问空袭时,需要如何降下最少的伞兵(...
  • u013480600
  • u013480600
  • 2014-08-20 19:21
  • 725

poj 1422 Air Raid 有向无环图的最小路径覆盖

点击打开链接 Air Raid Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6211   Accepted: ...
  • Dinivity123
  • Dinivity123
  • 2013-11-26 19:42
  • 918

POJ 题目1422 Air Raid(二分图最小路径覆盖)

Air Raid Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6820   Accepted: 4070 D...
  • yu_ch_sh
  • yu_ch_sh
  • 2014-11-17 15:32
  • 308

poj 1422 Air Raid(最小路径覆盖 + 二分图最大匹配)

http://poj.org/problem?id=1422 题意:在一个有向无环图中,从一些顶点出发,能遍历到图上所有点,要求初始选择的顶点数最少且顶点不重复遍历。 思路: 如果从某个顶点开始遍历的过程看成是路径的选择,那么问题就转化为在有向无环图中找最少的不想交的简单路径,这些路径覆盖图中的...
  • u013081425
  • u013081425
  • 2014-01-19 10:29
  • 1708

POJ 1422 Air Raid 最小路径覆盖(二分图匹配)

一个PXP的有向图中,路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联;(如果把这些路径中的每条路径从它的起始点走到它的终点,那么恰好可以经过图中的每个顶点一次且仅一次);如果不考虑图中存在回路,那么每条路径就是一个弱连通子集.   由上面可以...
  • sdj222555
  • sdj222555
  • 2012-02-07 16:02
  • 824
    个人资料
    • 访问:174306次
    • 积分:4858
    • 等级:
    • 排名:第6989名
    • 原创:314篇
    • 转载:9篇
    • 译文:0篇
    • 评论:75条
    最新评论