Cod sursa(job #2803633)

Utilizator Madalin_IonutFocsa Ionut-Madalin Madalin_Ionut Data 20 noiembrie 2021 11:55:36
Problema Sate Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <bits/stdc++.h>
using namespace std;

/**

*/

int viz[1000002], n, m, p, cnt;
vector<int> h[1000002];
queue<int> q;
ifstream fin("berarii2.in");
ofstream fout("berarii2.out");

void Citire()
{
    int i, j, k;
    fin >> n >> m >> p;
    cnt = n;
    for (k = 1; k <= m; k++)
    {
        fin >> i >> j;
        h[j].push_back(i);
    }
    for (i = 1; i <= p; i++)
    {
        fin >> k;
        q.push(k);
        viz[k] = 1;
        cnt--;
    }
}

void BFS()
{
    int k;
    while (!q.empty())
    {
        k = q.front();
        q.pop();
        for (int i : h[k])
            if (viz[i] == 0)
            {
                viz[i] = 1;
                q.push(i);
                cnt--;
            }
    }
}

void Afis()
{
    fout << cnt << "\n";
    for (int i = 1; i <= n; i++)
        if (viz[i] == 0) fout << i << "\n";
}

int main()
{
    Citire();
    BFS();
    Afis();
    fout.close();
    return 0;
}