Pagini recente » Cod sursa (job #707224) | Cod sursa (job #1113731) | Cod sursa (job #1609901) | Cod sursa (job #405738) | Cod sursa (job #1409814)
#include <bits/stdc++.h>
#define N 10005
#define pb push_back
using namespace std;
vector<int>v[N];
int l[N], r[N], sol, n, m, e, i, x, y, ok;
bitset<N>viz;
bool pairup(int nod)
{
if(viz[nod])
return 0;
for(auto it : v[nod])
if(!r[it])
{
r[it] = nod;
l[nod] = it;
return 1;
}
for(auto it : v[nod])
if(pairup(r[it]))
{
r[it] = nod;
l[nod] = it;
return 1;
}
return 0;
}
int main()
{
freopen("cuplaj.in", "r", stdin);
freopen("cuplaj.out", "w", stdout);
scanf("%d%d%d", &n, &m, &e);
for(; e; e--)
{
scanf("%d%d", &x, &y);
v[x].pb(y);
v[y].pb(x);
}
for(ok = 1; ok;)
{
ok = 0;
viz = 0;
for(i = 1; i <= n; i++)
if(l[i] && pairup(i))
{
sol++;
ok = 1;
}
}
return 0;
}