Матрица смежности и список смежных ребер
Дан неориентированный граф без кратный ребер и петель. Построить матрицу смежности и список смежных ребер для данного графа.
Как можно было бы оптимизировать код?
#include <stdio.h>
int main () {
int n, m, i, j, k, l;
scanf ("%d %d", &n, &m); // n - number of vertices, m - number of edges
int a[n][n];
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
a[i][j] = 0;
for(j = 0; j < m; j++) {
scanf ("%d %d", &k, &l);
a[k-1][l-1] = 1;
a[l-1][k-1] = 1;
}
for(i = 0; i < n; i++) {
for(j = 0 ; j < n ; j++) {
printf ("%3d", a[i][j]);
}
puts("\n");
}
for(i = 0; i < n; i++) {
for(j = 0; j < n; j++) {
if(a[i][j] == 1 && j > i)
printf ("[%d %d]\n", i+1, j+1);
}
}
}