MA TRẬN LIÊN THÔNG

 MA TRẬN LIÊN THÔNG



#include<stdio.h>
#define N 500
#define M 500
typedef struct{
	int A[N][M];
	int n,m;
}Graph;

void init_graph(Graph *G, int n, int m){
	G->n=n;
	G->m=m;
	int i,j;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			G->A[i][j];
}
void add_graph(Graph *G, int e, int x, int y){
	G->A[x][e]=1;
	G->A[y][e]=1;
}
int adjacent(Graph *G, int x, int y){
	int e;
	for(e=1;e<=G->m;e++)
		if(G->A[x][e]==1 && G->A[y][e]==1)
			return 1;
		return 0;
}
int degree(Graph *G, int x){
	int e,deg=0;
	for(e=1;e<=G->m;e++)
		if(G->A[x][e]==1)
			deg++;
		return deg;
}
int main(){
	Graph G;
	int i,j,n,m,e,u,v;
	freopen("dt.txt","r",stdin);
	scanf("%d%d",&n,&m);
	init_graph(&G,n,m);
	for(e=1;e<=G.m;e++){
		scanf("%d%d",&u,&v);
		add_graph(&G,e,u,v);
	}
	for(i=1;i<=n;i++){
		for(j=1;j<=m;j++)
			printf("%d ",G.A[i][j]);
		printf("\n");
		}
	return 0;
}