zoukankan      html  css  js  c++  java
  • arc 092C 2D Plane 2N Points

    题意:

    有n个红色的点和n个蓝色的点,如果红色的点的横坐标和纵坐标分别比蓝色的点的横坐标和纵坐标小,那么这两个点就可以成为一对友好的点。

    问最多可以形成多少对友好的点。

    思路:

    裸的二分图匹配,对于满足条件的两个点连边。

    wa了两发,板子错了,还是得用果苣的!。

    代码:

     1 #include <stdio.h>
     2 #include <string.h>
     3 
     4 const int N = 105;
     5 
     6 int link[N];
     7 bool mp[N][N];
     8 bool vis[N];
     9 
    10 struct node
    11 {
    12     int x,y;
    13 } red[N],blue[N];
    14 
    15 bool dfs(int u,int n)
    16 {
    17     for (int i = 0;i < n;i++)
    18     {
    19         if (mp[u][i] && !vis[i])
    20         {
    21             vis[i] = 1;
    22             
    23             if (link[i] == -1 || dfs(link[i],n))
    24             {
    25                 link[i] = u;
    26                 return true;
    27             }
    28         }
    29     }
    30     
    31     return false;
    32 }
    33 
    34 int solve(int n)
    35 {
    36     int ans = 0;
    37     
    38     for (int i = 0;i < n;i++)
    39     {
    40         memset(vis,0,sizeof(vis));
    41         if (dfs(i,n)) ans++;
    42     }
    43     
    44     return ans;
    45 }
    46 
    47 int main()
    48 {
    49     int n;
    50     
    51     scanf("%d",&n);
    52     
    53     memset(link,-1,sizeof(link));
    54     
    55     for (int i = 0;i < n;i++)
    56     {
    57         scanf("%d%d",&red[i].x,&red[i].y);
    58     }
    59     
    60     for (int i = 0;i < n;i++)
    61     {
    62         scanf("%d%d",&blue[i].x,&blue[i].y);
    63     }
    64     
    65     for (int i = 0;i < n;i++)
    66     {
    67         for (int j = 0;j < n;j++)
    68         {
    69             if (red[i].x < blue[j].x && red[i].y < blue[j].y)
    70             {
    71                 mp[i][j] = 1;
    72             }
    73         }
    74     }
    75     
    76     int ans = solve(n);
    77     
    78     printf("%d
    ",ans);
    79     
    80     return 0;
    81 }
  • 相关阅读:
    AutoCompleteTextView 简单用法
    照片颠倒问题及查询摄像头参数问题的解决
    Android Studio-引用jar及so文件
    file新建文件及文件夹
    appcompat_v7报错
    fresco加载本地图片、gif资源
    android根据图片路径显示图片
    sublime text3 及相关的安装
    win 10通过自带IIS搭建ftp
    LCA
  • 原文地址:https://www.cnblogs.com/kickit/p/8809530.html
Copyright © 2011-2022 走看看