zoukankan      html  css  js  c++  java
  • FZU2232 炉石传说 最大匹配

    思路:正好是二分图,自己敌人,符合条件的随从二人组建边,最大匹配为n是符合要求

    #include <cstdio>
    #include <cstring>
    #include <queue>
    #include <set>
    #include <map>
    #include <stack>
    #include <cstdlib>
    #include <algorithm>
    #include <vector>
    #include <cmath>
    using namespace std;
    typedef long long LL;
    typedef pair<int,int>pii;
    const int N=1e2+5;
    const int INF=0x3f3f3f3f;
    int match[N<<1],T,n;
    bool vis[N<<1];
    int a[N<<1],b[N<<1];
    vector<int>g[N];
    bool dfs(int u){
       for(int i=0;i<g[u].size();++i){
          int v=g[u][i];
          if(vis[v])continue;
          vis[v]=true;
          if(match[v]==-1||dfs(match[v])){
             match[v]=u;
             return true;
          }
       }
       return false; 
    }
    int main(){
        scanf("%d",&T);
        while(T--){
          scanf("%d",&n);
          for(int i=1;i<=2*n;++i){
             scanf("%d%d",&a[i],&b[i]);
          }
          for(int i=1;i<=n;++i)g[i].clear();
          for(int i=1;i<=n;++i)
            for(int j=n+1;j<=2*n;++j)
              if(a[i]>b[j]&&b[i]>=a[j])g[i].push_back(j);
          int ans=0;
          memset(match,-1,sizeof(match));
          for(int i=1;i<=n;++i){
            memset(vis,false,sizeof(vis));
            if(dfs(i))++ans;
          }
    
          if(ans==n)printf("Yes
    ");
          else printf("No
    ");
        }
        return 0;
    }
    View Code
  • 相关阅读:
    购物车宣传页
    项目开发流程
    AJAX跨域
    jQuery中的AJAX
    AJAX封装
    AJAX里使用模板引擎
    AJAX的具体使用
    AJAX的基本使用
    js技巧汇总
    CSS特效汇集
  • 原文地址:https://www.cnblogs.com/shuguangzw/p/5456872.html
Copyright © 2011-2022 走看看