#include<stdio.h>
#include <stdlib.h>
struct sNo
{
int valor;
struct sNo *prox;
};
typedef struct sNo Tno;
struct sFila
{
Tno *H,*T;
};
inserir(struct sFila *L,int V)
{
Tno *P;
P=(Tno*)malloc(sizeof(Tno));
if(!P)
printf("Erro de memoria!\n");
else
{
P->valor=V;
P->prox= NULL;
if(!(L->H)&&!(L->T))
{
L->H=P;
L->T=P;
}
else
{
L->T->prox=P;
L->T=P;
}
}
}
remover(struct sFila *L)
{
Tno *P;
P=L->H;
L->H=L->H->prox;
if(L->H==NULL)
L->T=NULL;
free(P);
}
void matriz_nula(int **matriz,int tamanho)
{
int i,j;
for(i=0; i<tamanho; i++)
for(j=0; j<tamanho; j++)
matriz[i][j]=0;
}
int main(void)
{
struct sFila G,fila;
fila.H=NULL;
fila.T=NULL;
G.H=NULL;
G.T=NULL;
Tno *Pont;
int N,M,v,w,p,**matriz,**matriz2,ind,acm,i,j;
for(;;)
{
scanf("%d %d",&N,&M);
matriz=(int **)calloc(N,sizeof(int*));
for(i=0; i<N; i++)
matriz[i] = (int*) calloc (N, sizeof(int));
matriz_nula(matriz,N);
if(N==0&&M==0)
break;
while(M--)
{
scanf("%d %d %d",&v,&w,&p);
if(p == 1)
matriz[v-1][w-1] = 1;
else
{
matriz[v-1][w-1] = 1;
matriz[w-1][v-1] = 1;
}
}
for(i=0; i<N; i++)
{
matriz2=(int **)calloc(N,sizeof(int*));
for(j=0; j<N; j++)
matriz2[j] = (int*) calloc (N, sizeof(int));
matriz_nula(matriz2,N);
for(j=0; j<N; j++)
{
if(matriz[i][j]&&!matriz2[i][j]&i!=j)
{
inserir(&fila,j);
matriz2[i][j]=1;
}
}
while(!((fila.H==NULL)&&(fila.T==NULL)))
{
ind=fila.H->valor;
matriz[i][ind]=1;
for(j=0; j<N; j++)
{
if(matriz[ind][j]&&!matriz2[ind][j]&&ind!=j)
{
inserir(&fila,j);
matriz2[ind][j]=1;
}
}
remover(&fila);
}
}
acm=0;
for(i=0; i<N; i++)
for(j=0; j<N; j++)
acm+=matriz[i][j];
if(acm == N*N)
inserir(&G,1);
else
inserir(&G,0);
for(i=0; i<N; i++)
{
free(matriz[i]);
free(matriz2[i]);
}
free(matriz);
free(matriz2);
}
Pont=G.H;
while(G.H!=NULL)
{
printf("%d\n",G.H->valor);
remover(&G);
}
return 0;
}
Esse blog foi criado com o intuito de ser o nosso diário de bordo, ajudando na execução do trabalho do PIC. A equipe é formada por: Elias Augusto Paulino, Lidiane Marcelino Carvalho, Rafaela Zanin Ferreira , Phillipe Gandini Baldim, alunos do 6°período do Curso Bacharelado em Ciência Da Computação do Centro Universitário do Sul de Minas - UNIS. O PIC terá como objetivo:a realização de um artigo acadêmico buscando auxiliar posteriormente a elaboração do TCC.
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário