Acasa Tehnologie Colorarea secventiala a unui graf

Colorarea secventiala a unui graf

by Dragos Schiopu

>

#include <stdio.h>
#include <conio.h>
int a[20][20],i,j,n,colorat[20],nrculori=0,nr=0;

void citire()
{
FILE *f=fopen("c:date3.txt","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
fscanf(f,"%d",&a[i][j]);
fclose(f);
}

void initializare()
{
for(i=1;i<=n;i++) colorat[i]=0;
}

void colorare()
{
int minim;
colorat[1]=1; nr++;
for(i=2;i<=n;i++)
{
minim=1;
for(j=1;j<=n;j++)
if((a[i][j]==1)&&(colorat[j]!=0)) if(colorat[j]==minim) minim++;
colorat[i]=minim; if(minim>nr) nr++;
}
}

void afis()
{
for(i=1;i<=n;i++)
printf("n Nod %d culoare %d ",i,colorat[i]);
printf("n Total: %d culori",nr);
}

void main(void)
{
clrscr();
citire();
initializare();
colorare();
afis();
}

s-ar putea sa-ti placa