Pagini recente » Cod sursa (job #48976) | Cod sursa (job #2655464) | Cod sursa (job #2890166) | Cod sursa (job #2488084) | Cod sursa (job #421944)
Cod sursa(job #421944)
#include<stdio.h>
FILE *f,*g;
int contor=0,n,m,t[10];
int a[10][10];
int bf()
{
int j,p,i,u=1,coada[10],sel[10];
for(j=1;j<=n+2;j++)
sel[j]=0;
coada[1]=n+1;
for(j=1;j<=n;j++)
if(a[n+1][j]==1)
{
u++;
coada[u]=j;
}
p=u;
for(j=2;j<=p;j++)
for(i=1;i<=n;i++)
if((sel[i]==0)&&(a[coada[j]][i]==1))
{
u++;
coada[u]=i;
sel[i]=1;
t[i]=coada[j];
}
for(j=p+1;j<=u;j++)
if(a[coada[j]][n+2]==1)
{
contor++;
a[coada[j]][n+2]=0;
a[t[coada[j]]][coada[j]]=0;
a[n+1][t[coada[j]]]=0;
return 1;
}
return 0;
}
int main() {
int i,x,y;
f=fopen("felinare.in","r");
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=m;i++)
{
fscanf(f,"%d%d",&x,&y);
a[x][y]=1;
}
fclose(f);
for(i=1;i<=n;i++)
{
a[n+1][i]=1;
a[i][n+2]=1;
}
x=1;
while(x)
x=bf();
g=fopen("felinare.out","w");
fprintf(g,"%d\n",2*n-contor);
fclose(g);
return 0;}