70pts求调悬关
  • 板块P2712 摄像头
  • 楼主stayup
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/8/15 11:27
  • 上次更新2024/8/15 14:49:32
查看原帖
70pts求调悬关
957641
stayup楼主2024/8/15 11:27

WA 3个点

#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
int n;
int ind[N];//入度
vector<int> e[N];//邻接表
int ans;//被敲掉的摄像头
void topo()
{
    queue<int> q;
    for (int i = 1; i <= n; i++)
        if (!ind[i])
            q.push(i);
    while (q.size())
    {
        int u = q.front();
        q.pop();
        ans++;
        for (auto v : e[u])
        {
            if (--ind[v] == 0)
                q.push(v);
        }
    }
    return;
}
int main()
{
    cin >> n;
    for (int i = 1, x, m, y; i <= n; i++)
    {
        cin >> x >> m;
        a[x] = 1;
        while (m--)
        {
            cin >> y;
            e[y].push_back(i);
            ind[y]++;
        }
    }
    topo();

    if (ans != n)
        cout << n - ans;
    else
        cout << "YES";
    system("pause");
    return 0;
}

2024/8/15 11:27
加载中...