题目描述
假设有向图G采用邻接表存储,设计算法求出图G中每个顶点的出度。
输入
第一行为图中顶点的个数n 第二行为图的边的条数e 第三行为依附于一条边的两个顶点的数据信息。
输出
图G中每个顶点的出度。第一行表示顶点0的出度,其他行定义相同。
样例输入
5
6
0 1
0 3
1 2
1 3
4 0
4 3
样例输出
2
2
0
0
2
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#define MaxSize 1000
int a[MaxSize][MaxSize];
int main()
{
int n,m,u,v;
scanf("%d",&n);
scanf("%d",&m);
char ch;
for(int i=0;i<m;i++)
{
scanf("%d %d",&u,&v);//两个顶点
a[u][v]=1;//为1,表示两个顶点相通
}
for(int i=0;i<n;i++)//从0号顶点开始遍历
{
int ans=0;
for(int j=0;j<n;j++)
{
if(a[i][j]==1)//如果i->j可到达
{
ans++;
}
}
printf("%d\n",ans);
}
}