zoukankan      html  css  js  c++  java
  • (F

    题目链接:https://cn.vjudge.net/contest/281037#problem/F

    题目大意:中文题目

    具体思路:可以看成二分图匹配,寻找最大匹配就可以了,注意当某一个匹配不到的时候,就应该直接break,因为进不到下面的关卡了,一开始的时候没有想到是二分图最大匹配,想了一会就去搞A题了,结果A题,,。

    AC代码:

     1 #include<iostream>
     2 #include<stack>
     3 #include<iomanip>
     4 #include<cmath>
     5 #include<stdio.h>
     6 #include<cstring>
     7 #include<algorithm>
     8 #include<queue>
     9 #include<vector>
    10 using namespace std;
    11 # define ll long long
    12 const int maxn =1e3+100;
    13 int a[maxn+10][maxn+10];
    14 int n,m;
    15 int vis[maxn+10],net[maxn+10];
    16 int Find(int t)
    17 {
    18     for(int i=0; i<=maxn; i++)
    19     {
    20         if(vis[i]==1||a[t][i]==0)
    21             continue;
    22         vis[i]=1;
    23         if(net[i]==-1||Find(net[i]))
    24         {
    25             net[i]=t;
    26             return true;
    27         }
    28     }
    29     return false;
    30 }
    31 int match()
    32 {
    33     int ans=0;
    34     memset(net,-1,sizeof(net));
    35     for(int i=1; i<=n; i++)
    36     {
    37         memset(vis,0,sizeof(vis));
    38         if(Find(i))
    39             ans++;
    40             else break;//找不到就直接break
    41     }
    42     return ans;
    43 }
    44 int main()
    45 {
    46     int t1,t2;
    47     scanf("%d %d",&n,&m);
    48     for(int i=1; i<=m; i++)
    49     {
    50         scanf("%d %d",&t1,&t2);
    51         a[i][t2]=1;
    52        a[i][t1]=1;
    53     }
    54     int ans=match();
    55     printf("%d
    ",ans);
    56     return 0;
    57 }
  • 相关阅读:
    jvm调优监控工具jps、jstack、jmap、jhat、jstat使用详解
    JS中Date和时间戳转换
    HashMap源码窥探
    HashMap,TreeMap,LinkedHashMap的默认排序
    hibernate-delete(Entity)的顺序问题
    macOS通过ssh使用PEM登录
    SpringMvc-<context:component-scan>使用说明
    macOS安装RZ,SZ
    CentOS6.8下yum安装Nginx
    第K人||约瑟夫环(链表)
  • 原文地址:https://www.cnblogs.com/letlifestop/p/10320479.html
Copyright © 2011-2022 走看看