有向图顶点的度数计算

时间:2025-02-12 07:15:44

有向图顶点的度数计算

  • 题目信息
    • 测试样例
  • 解答

题目信息

求有向图所有顶点的出度与入度。
输入:
第一行为正整数N(0<N<=100),代表图中点的个数。
接下来N行,每行有N个数据,每个数据以空格分隔,代表邻接矩阵。
注意:
输入的都是有向图
输出:
输出N行,每行2个数字,每行格式都是:A空格B
其中A为出度,B为入度

测试样例

5
1 0 0 0 0
0 1 1 0 0
0 1 1 1 0
0 0 0 1 0
0 0 1 0 1
1 1 
2 2 
3 3 
1 2 
2 1

解答

#include <iostream>

using namespace std;
int a[1000][1000];
int du[1000][2];
int N;

int main()
{
    freopen("E://", "r", stdin);
    cin >> N;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            cin >> a[i][j];
        }
    }

    for (int i = 0; i < N; i++)
    {
        int sum = 0;
        for (int j = 0; j < N; j++)
        {
            sum += a[i][j];
        }
        du[i][0] = sum;
    }

    for (int i = 0; i < N; i++)
    {
        int sum = 0;
        for (int j = 0; j < N; j++)
        {
            sum += a[j][i];
        }
        du[i][1] = sum;
    }

    for (int i = 0; i < N; i++)
    {
        cout << du[i][0] << " " << du[i][1] << endl;
    }
    return 0;
}