Pagini recente » Cod sursa (job #795396) | Cod sursa (job #2710128) | Cod sursa (job #859142) | Cod sursa (job #873285) | Cod sursa (job #553238)
Cod sursa(job #553238)
#include<iostream>
#include<fstream>
using namespace std;
int a[8200][8200],cuplaj[8200],viz[8200];
int i,j,n,m,card;
int cupleaza(int i)
{
int j;
if(viz[i] == 1)
return 0;
viz[i] = 1;
for(j=1;j<=n;j++)
if(a[i][j])
if(!cuplaj[j])
{
cuplaj[j] = i;
return 1;
}
for(j=1;j<=n;j++)
if(a[i][j])
if(cupleaza(cuplaj[j]))
{
cuplaj[j] = i;
return 1;
}
return 0;
}
int main()
{
ifstream fin("felinare.in");
ofstream fout("felinare.out");
fin>>n>>m;
while(fin>>i>>j)
a[i][j] = 1;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
viz[j] = 0;
card = card + cupleaza(i);
}
fout<<2*n - card<<"\n";
return 0;
}