Cod sursa(job #2796227)
| Utilizator | Data | 7 noiembrie 2021 19:00:46 | |
|---|---|---|---|
| Problema | Sortare topologica | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <iostream>
#include<unordered_map>
#include<queue>
#include<fstream>
using namespace std;
unordered_map<int,int>m;
int d[50000];
queue<int>ord;
int N,M,a,b,i,j;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int main()
{
f>>N>>M;
for(i=1;i<=M;++i)
{
f>>a>>b;
m.insert(make_pair(b,a));
++d[b];
}
for(i=1;i<=N;++i)
if(d[i]==0)
{ ord.push(i);
for(j=1;j<=N;++j)
if(m[j]==i)
--d[j];
}
while (!ord.empty())
{
g<<ord.front()<<' ';
ord.pop();
}
return 0;
}
