关联矩阵

 

 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 }
posted @ 2015-03-10 23:28  LeoFeng  阅读(729)  评论(0编辑  收藏  举报