Pagini recente » Cod sursa (job #1531160) | Cod sursa (job #2933514) | Cod sursa (job #2532600) | Cod sursa (job #1363263) | Cod sursa (job #2105200)
#include <iostream>
#include <fstream>
#include <climits>
#include <vector>
#include <queue>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector<vector<int> > a(50000);
queue<int> c;
int dp[50001],viz[50001];
int n,m,contor;
int main()
{
f>>n>>m;
for(int i=1;i<=m;i++)
{
int x1,x2;
f>>x1>>x2;
a[x1].push_back(x2);
dp[x2]++;
}
for(int i=1;i<=n;i++)
if(dp[i]==0) c.push(i);
while(!c.empty())
{
int var=c.front();
c.pop();
g<<var<<" ";
for(int i=0;i<a[var].size();i++)
if(viz[a[var][i]]==0)
{
viz[a[var][i]]=1;
c.push(a[var][i]);
}
}
return 0;
}