zoukankan      html  css  js  c++  java
  • HDU2819

    #include<iostream> 
    using namespace std; 
     
    const int MAX=105
    int n,flag; 
    int visited[MAX],match[MAX],mat[MAX][MAX]; 
     
    void init() 

        for(int i=1;i<MAX;i++) 
            for(int j=1;j<MAX;j++) 
            { 
                mat[i][j]=0
            } 
     

     
    int path(int u) 

        int i,v; 
        for(v=1;v<=n;v++) 
        { 
            if(!visited[v]&&mat[u][v]) 
            { 
                visited[v]=1
                if(match[v]==-1||path(match[v])) 
                { 
                    match[v]=u; 
                    return 1
                } 
            } 
        } 
        return 0

     
    void max_match() 

        int i,ans=0
        memset(match,-1,sizeof(match)); 
        for(i=1;i<=n;i++) 
        { 
            memset(visited,0,sizeof(visited)); 
            if(!path(i)) 
            { 
                flag=1
                break
            } 
        } 
        return ; 

     
    int main(void

        int count,i,j,t,a[MAX],b[MAX],c,m,k; 
        while(scanf("%d",&n)==1
        { 
            flag=0
            memset(a,0,sizeof(a)); 
            memset(b,0,sizeof(b)); 
            init(); 
            for(i=1;i<=n;i++) 
                for(j=1;j<=n;j++) 
                    scanf("%d",&mat[i][j]); 
            max_match(); 
     
            c=0
            for(j=1;j<=n;j++) 
            { 
                m=j; 
                for(k=j;k<=n;k++) 
                    if(match[k]<match[m]) 
                        m=k; 
                if(m!=j) 
                { 
                    a[c]=m; 
                    b[c]=j; 
                    c++; 
                    t=match[m]; 
                    match[m]=match[j]; 
                    match[j]=t; 
                } 
            } 
            if(flag) 
                printf("-1\n"); 
            else 
            {     
                printf("%d\n",c); 
                for(i=0;i<c;i++) 
                    printf("C %d %d\n",a[i],b[i]); 
            } 
        } 

  • 相关阅读:
    循环图片 yi
    给大家一个经典的.net情感故事 yi
    [东邪西毒][程序员版][原版][剧情] yi
    Sqlite 使用笔记 中文显示为乱码 yi
    sql2005安装过程,(不装C盘) yi
    Visual Studio 2010 美女与程序员的爱情网剧全集 yi
    IT行业几大职业病 yi
    标准化操作
    【ActiveMQ Tuning】Serializing to Disk
    我的山寨敏捷四季之春
  • 原文地址:https://www.cnblogs.com/cchun/p/2520144.html
Copyright © 2011-2022 走看看