Pagini recente » Cod sursa (job #687812) | Cod sursa (job #1804326) | Cod sursa (job #703559) | Cod sursa (job #3290799) | Cod sursa (job #2608645)
#include<cstdio>
#include<vector>
#include<queue>
using namespace std;
FILE*in=fopen("sortaret.in","r");
FILE*out=fopen("sortaret.out","w");
vector<int> v[50002];
queue<int> q;
int n,m,i,x,y,a,vec;
int g[50002];
void DFS()
{
while(!q.empty())
{
a=q.front();
q.pop();
fprintf(out,"%d ",a);
for(int j=0;j<v[a].size();j++)
{
vec=v[a][j];
g[vec]--;
if(g[vec]==0)
{
q.push(vec);
}
}
}
}
int main()
{
fscanf(in,"%d%d",&n,&m);
for(i=1;i<=m;i++)
{
fscanf(in,"%d%d",&x,&y);
v[x].push_back(y);
g[y]++;
}
for(i=1;i<=n;i++)
{
if(g[i]==0)
{
q.push(i);
}
}
DFS();
}