zoukankan      html  css  js  c++  java
  • hdu4619Warm up 2

    http://acm.hdu.edu.cn/showproblem.php?pid=4619

    二分图匹配  最小点覆盖 = 最大匹配

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 int map[1010][1010];
     7 struct node
     8 {
     9     int x,y;
    10 }p[1010],q[1010];
    11 int n,m,vis[1010],link[1010];
    12 int judge(int i,int j)
    13 {
    14     if(p[i].x<=q[j].x&&q[j].x<=p[i].x+1)
    15     {
    16         if(q[j].y<=p[i].y&&p[i].y<=q[j].y+1)
    17         return 1;
    18     }
    19     return 0;
    20 }
    21 int find(int x)
    22 {
    23     int i;
    24     for(i = 1;i <= m ; i++)
    25     {
    26         if(map[x][i]&&!vis[i])
    27         {
    28             vis[i] = 1;
    29             if(link[i]==0||find(link[i]))
    30             {
    31                 link[i] = x;
    32                 return 1;
    33             }
    34         }
    35     }
    36     return 0;
    37 }
    38 int main()
    39 {
    40     int i,j,k;
    41     while(cin>>n>>m)
    42     {
    43         if(n==0&&m==0)
    44         break;
    45         for(i = 1; i <= n ; i++)
    46         cin>>p[i].x>>p[i].y;
    47         for(i = 1; i <= m ;i++)
    48         cin>>q[i].x>>q[i].y;
    49         memset(map,0,sizeof(map));
    50         memset(link,0,sizeof(link));
    51         for(i = 1; i <= n ; i++)
    52             for(j = 1; j <= m ;j++)
    53             if(judge(i,j))
    54             map[i][j] = 1;
    55         int sum = 0;
    56         for(i = 1; i <= n ; i++)
    57         {
    58             memset(vis,0,sizeof(vis));
    59             if(find(i)) sum++;
    60         }
    61         cout<<n+m-sum<<endl;
    62     }
    63     return 0;
    64 }
    View Code
  • 相关阅读:
    删除名字和参数
    更改NX TITLE为路径
    我自己写的创建刀具
    创建刀具,很有用的信息
    控件改名
    已知体的最大尺寸在一堆实体里面找这个体
    cam对象类型
    ORACLE导入导出工具的使用
    ORACLE表空间
    Statement与PreparedStatement的区别
  • 原文地址:https://www.cnblogs.com/shangyu/p/3222911.html
Copyright © 2011-2022 走看看