Pagini recente » Cod sursa (job #340172) | Cod sursa (job #1052393) | Cod sursa (job #2261445) | Cod sursa (job #393719) | Cod sursa (job #917634)
Cod sursa(job #917634)
#include <fstream>
#include <queue>
#include <vector>
using namespace std;
vector<int> vec[50001];
int depinde[50001];
int a, b, n, m, i, cx;
queue<int> coada;
int main()
{
ifstream f("sortaret.in");
ofstream g("sortaret.out");
f>>n>>m;
for(i=1; i<=m; i++)
{
f>>a>>b;
vec[a].push_back(b);
depinde[b]++;
}
for(i=1; i<=n; i++)
{
if(!depinde[i])
coada.push(i);
}
while(!coada.empty())
{
cx=coada.front();
coada.pop();
for(i=0; i<vec[cx].size(); i++)
{
depinde[vec[cx][i]]--;
if(!depinde[vec[cx][i]])
coada.push(vec[cx][i]);
}
g<<cx<<" ";
}
}