Pagini recente » Cod sursa (job #20026) | Cod sursa (job #1626847) | Cod sursa (job #1134064) | Cod sursa (job #2948249) | Cod sursa (job #2414849)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int main()
{
int n, m;
f>>n>>m;
vector < vector < int > > A(n+1);
vector < int > G(n+1,0);
queue < int > Q;
for (int i=1; i<=m; i++){
int x,y;
f>>x>>y;
A[x].push_back(y);
G[y]++;
}
for (int i=1;i<=n;i++){
if(G[i]==0) Q.push(i);
}
while (!Q.empty()){
int nod_curent=Q.front();
Q.pop();
g<<nod_curent<<' ';
for (auto i: A[nod_curent]){
G[i]--;
if (G[i]==0) Q.push(i);
}
}
return 0;
}