Pagini recente » Cod sursa (job #2245675) | Cod sursa (job #1505546) | Cod sursa (job #2768807) | Cod sursa (job #1668904) | Cod sursa (job #2803633)
#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;
}