#include #include

using namespace std;

const int N = 1010;

int n, m; int h[N], e[N], ne[N], idx; int din[N], dout[N]; // 入度和出度 int q[N * 2], tt; // 队列

void add(int a, int b) { e[idx] = b, ne[idx] = h[a], h[a] = idx ++; }

int main() { memset(h, -1, sizeof h); cin >> n >> m; while (m -- ) { int a, b; cin >> a >> b; add(b, a); // 注意这里是 b -> a,表示 a 的入度加 1,b 的出度加 1 dout[b] ++ , din[a] ++ ; // 维护入度和出度 }

for (int i = 0; i < n; i ++ )
    if (!din[i]) q[ ++ tt] = i; // 所有入度为 0 的点入队

while (tt)
{
    int t = q[tt -- ];
    for (int i = h[t]; ~i; i = ne[i])
    {
        int j = e[i];
        din[j] -- ; // 当前点的出度减 1
        dout[t] -- ; // 当前点的入度减 1
        if (!din[j]) q[ ++ tt] = j; // 如果 j 的入度为 0,入队
    }
}

for (int i = 0; i < n; i ++ )
    cout << dout[i] - din[i] << endl;

return 0;
请写出这道算法题完整的c++代码?蒜头君和他的同事们最近在玩一个好玩的游戏:互粉攻略。一共有 NN 个人参加游戏编号从 00 到 N - 1N−1游戏前每个人都会展示自己最靓丽的一面。当游戏开始时每个人可以选择去关注别人。当 AA 关注了 BB则 AA 就成了 BB 的粉丝但是并不意味着 BB 同时关注了 AA。当所有人都选好后游戏结束人气指数最高的人成为冠军。蒜头君制定了奇怪的规定:一个人的人气

原文地址: https://www.cveoy.top/t/topic/eh3R 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录