zoukankan      html  css  js  c++  java
  • La 3415 二分图

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<cmath>
    using namespace std;
    
    const int maxn = 505;
    struct student{
        int height;
        char gender;
        char m[105];
        char s[105];
    }stu[maxn];
    bool G[maxn][maxn];
    int n,ans;
    int link[maxn];
    int vis[maxn];
    
    void init(){
        memset(link,-1,sizeof(link));
        memset(G,0,sizeof(G));
    }
    bool dfs(int u){
        
        for(int v=1;v<=n;v++){
            if(G[u][v] && !vis[v]){
                vis[v] = true;  //cout<<u<<v<<link[v]<<endl;
                if(link[v] == -1 || dfs(link[v])){
                    link[v] = u;  //cout<<u<<endl;
                    return true;
                }
            }    
        }
        return false;
    }
    void KM(){
        ans = 0;  
        for(int i=1;i<=n;i++){
            memset(vis,0,sizeof(vis));
            if(dfs(i)) ans++;
         }
    }
    int main()
    {
        //if(freopen("input.txt","r",stdin)== NULL) printf("Error\n");
        int T;
        cin>>T;
        while(T--){
            cin>>n;
            init();
            for(int i=1;i<=n;i++){
                cin>>stu[i].height;
                cin>>stu[i].gender;
                cin>>stu[i].m;
                cin>>stu[i].s;
            }
            for(int i=1;i<=n;i++)
               for(int j=i+1;j<=n;j++){
                    int a = stu[i].height - stu[j].height;
                    int b = stu[i].gender - stu[j].gender;
                    int c = strcmp(stu[i].m,stu[j].m);
                    int d = strcmp(stu[i].s,stu[j].s);
                    if( fabs(a)<=40 && b && !c && d){
                        if(stu[i].gender == 'M') G[i][j] = true;
                        else                 G[j][i] = true;
                    }
               }
               KM(); 
               cout<<n-ans<<endl;
        } 
        
    }
  • 相关阅读:
    Linux环境下安装python3
    软件测试类型
    系统测试分类
    测试级别
    测试对象的介绍
    软件测试基本介绍
    简易留言板(还有一些小bug,修复ing...)
    Hosting static website on AWS
    Add a dependency in Android Studio
    Python good tutorials
  • 原文地址:https://www.cnblogs.com/acmdeweilai/p/3088864.html
Copyright © 2011-2022 走看看