Pagini recente » Cod sursa (job #2470477) | Cod sursa (job #2225032) | Cod sursa (job #2821841) | Cod sursa (job #1592453) | Cod sursa (job #2105198)
#include <iostream>
#include <fstream>
#include <climits>
#include <vector>
#include <queue>
using namespace std;
vector<vector<int> > a(50000);
queue<int> c;
int dp[50001],viz[50001];
int n,m,contor;
int main()
{
FILE *f=fopen("sortaret.in","r");
FILE *g=fopen("sortaret.out","w");
fscanf(f,"%d %d",&n,&m);
for(int i=1;i<=m;i++)
{
int x1,x2;
fscanf(f,"%d %d",&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();
fprintf(g,"%d ",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;
}