#include <iostream >
using namespace std;
int main ()
{
int n,m;
cin >> n >> m;
int mt[n+1][n+1];
for(int i=1 ; i <= n ; i++)
for(int j=1 ; j <= n; j++) mt [i][j]=0;
int a b;
for ( int i=1; i <= m; i++)
{ cin >> a >> b;
mt[a][b]=1;
mt [b][a]=1;
}
for(int i=1 ; i <= n ; i++)
{for(int j=1 ; j <= n; j++)
cout << mt[i][j] <<' '
cout<<endl;
}
return 0;
}
Am f[cut varianta pentru citire tastaura te las pe tine sa o faci pentru fiser in principiu se declara o matrice de n lini si n coloane se initializeaza toate elementele cu 0 apoi faci un for in care daca ezista muchia muchie intre nodurile a si b se atribuie acelei poziti valuarea 1 si deoarece nu este orientat inseamna ca este si intre b si a muchie