Pagini recente » Cod sursa (job #609832) | Cod sursa (job #2049162) | Cod sursa (job #503031) | Cod sursa (job #2669695) | Cod sursa (job #553045)
Cod sursa(job #553045)
#include<iostream>
#include<fstream>
using namespace std;
int a[10000][10000],cuplaj[10000],viz[10000];
int i,j,n,m,card,e,k;
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] == 1 && (cuplaj[j] !=i || cupleaza(cuplaj[j]) == 1)) )
{
cuplaj[j] = i;
return 1;
}
return 0;
}
int main()
{
ifstream fin("cuplaj.in");
ofstream fout("cuplaj.out");
fin>>n>>m>>e;
for(k=1;k<=e;k++)
{
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<<card<<"\n";
for(j=1;j<=card;j++)
if(cuplaj[j])
fout<<cuplaj[j]<<" "<<j<<"\n";
return 0;
}