关联矩阵
1 #include<stdio.h> 2 3 int main() 4 { 5 int i,j,k; 6 int n,m; //n:用于记录图中的节点的数目;m:用于记录图中边的数目 7 int edge[1000][2]; //用于存储输入的图的(a,b)边 8 9 scanf("%d%d",&n,&m); //输入图的节点和边的数目 10 11 for(i=0;i<m;i++) //输入图中的边(a,b) 12 scanf("%d%d",&edge[i][0],&edge[i][1]); 13 14 for(i=1;i<=n;i++) //循环输出关联矩阵的 n 行 15 { 16 for(j=0;j<m;j++) //循环输出关联矩阵的 m 列 17 if(edge[j][0]==i) //如果 i 节点与 j 边相连,并且 j 边从 i 节点输出 18 printf("%d ",1); //输出 1 19 else if(edge[j][1]==i) //如果 i 节点与 j 边相连,并且 j 边从 i 节点输入 20 printf("%d ",-1); //输出 -1 21 else 22 printf("%d ",0); //如果 i 节点与 j 边不相连,输出 0 23 printf("\n"); 24 } 25 26 return 0; 27 }