题目描述
假设用一个n*n的数组a来描述一个有向图的邻接矩阵:
(1)编写一个函数确定一个顶点的出度
(2)编写一个函数确定一个顶点的入度
(3)编写一个函数确定图中边的数目
输入
第一行:节点总数n、指定节点m
下面n行:有向图的邻接矩阵
输出
第一行包括三个数据:节点编号m、m的出度、m的入度(之间用一个空格隔开)
第二行包括一个数据:图中边的总数
样例
输入
5 3
0 4 2 2 3
2 0 1 5 10
2 0 0 4 0
0 3 7 0 7
6 2 0 0 0
输出
3 2 3
15
AC代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
int a[n+1][n+1],i,j,s1,s2,s3;
memset(a,0,sizeof(a));
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
cin>>a[i][j];
}
}
s1=s2=s3=0;
cout<<m<<' ';
for(i=1;i<=n;i++)
{
if(a[m][i]!=0)
{
s1++;
}
}
for(i=1;i<=n;i++)
{
if(a[i][m]!=0)
{
s2++;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(a[i][j]!=0)
{
s3++;
}
}
}
cout<<s1<<' '<<s2<<endl<<s3<<endl;
return 0;
}