写题ing.(求调)

#include <iostream>
#include <vector>
using namespace std;

const int MAXN = 1005;

int childCount[MAXN];
vector<int> adj[MAXN];

void dfs(int u, int parent) 
{
    for (int i = 0; i < adj[u].size(); ++i) 
	{
        int v = adj[u][i];
        if (v != parent) 
		{
            dfs(v, u);
            childCount[u]++;
        }
    }
}

int main() 
{
    int n;
    cin >> n;

    for (int i = 1; i <= n; ++i) 
	{
        for (int j = 1; j <= n; ++j) 
		{
            int isConnected;
            cin >> isConnected;
            if (isConnected == 1) 
			{
                adj[i].push_back(j);
            }
        }
    }

    for (int i = 1; i <= n; ++i) 
	{
        dfs(i, -1);
    }

    for (int i = 1; i <= n; ++i) 
	{
        cout << childCount[i] << " ";
    }
    cout << endl;

    return 0;
}

6 个赞

受不了一点

6 个赞

输出被吞了

6 个赞