zoukankan      html  css  js  c++  java
  • linshiwendang12--匈牙利

    #include<bits/stdc++.h>
    #define N 10007
    using namespace std;
    vector<int> p[N];
    bool vis[N*2];
    int mat[N*2];
    bool find(int x){
    	for(int i=p[x].size()-1;i>=0;--i){
    		int y=p[x][i];
    		if(vis[y]) continue;
    		vis[y]=true;
    		if(mat[y]==-1||find(mat[y])){
    			mat[y]=x;
    			return true;
    		}
    	}	
    	return false;
    }
    int main(){
    	int n;
    	int i;
    	int s,m,e;
    	while(cin>>n){
    		for(i=0;i<n;++i) p[i].clear();
    		memset(mat,-1,sizeof(mat));
    		for(i=0;i<n;++i){
    			scanf("%d: (%d)",&s,&m);
    			while(m--){
    				scanf("%d",&e);
    				p[s].push_back(e);
    			}
    		}
    		int ans=0;
    		for(i=0;i<n;++i){
    			memset(vis,false,sizeof(vis));
    			if(find(i)) ans++;
    		}
    		cout<<ans<<endl;
    	}
    	return 0;	
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

    today lazy . tomorrow die .
  • 相关阅读:
    I
    D
    K
    G
    J
    Doom HDU
    Mountaineers Gym
    华南理工大学“三七互娱杯”程序设计竞赛(重现赛)( HRY and array 高精度除法模板)
    Corn Fields POJ
    linux如何安装缺失依赖
  • 原文地址:https://www.cnblogs.com/france/p/4808653.html
Copyright © 2011-2022 走看看