ZOJ 1364 Machine Schedule

来源:互联网 发布:三金西瓜霜漱口水 知乎 编辑:程序博客网 时间:2024/05/21 05:24
#include <iostream>#include <cstring>using namespace std;const int MAXN = 105;int xs[MAXN],ys[MAXN];int mk[MAXN];int nx, ny;int g[MAXN][MAXN];int path( int u ){     for(int v = 1; v <= ny; ++v)     {          if( g[u][v] && !mk[v] )          {               mk[v] = 1;               if( !ys[v] || path( ys[v] ))               {                    xs[u] = v;                    ys[v] = u;                    return 1;               }          }     }     return 0;}int MaxMatch(){     int i, ans = 0;     memset(xs, 0, sizeof(xs));     memset(ys, 0, sizeof(ys));     for(i = 1; i <= nx; ++i)     {          if( !xs[i] )          {               memset(mk, 0, sizeof(mk));               ans += path( i );          }     }     return ans;}int main(){     int i, k;     int a, b;     int m;     while(cin>>nx)     {          if(nx == 0)               break;          cin>>ny>>k;          memset(g, 0, sizeof(g));          for(i = 1; i <= k; ++i)          {               cin>>m>>a>>b;               g[a][b] = 1;          }          int ans = 0;          ans = MaxMatch();          cout<<ans<<endl;     }    return 0;}/**5 5 100 1 11 1 22 1 33 1 44 2 15 2 26 2 37 2 48 3 39 4 30*/

原创粉丝点击