Pagini recente » Cod sursa (job #1731804) | Cod sursa (job #1363453) | Cod sursa (job #131093) | Cod sursa (job #1727154) | Cod sursa (job #494613)
Cod sursa(job #494613)
#include<cstdio>
#include<vector>
const int maxn = 105000;
using namespace std;
int i , j , n, m , a, b , v;
vector <int> G[maxn];
bool seen[maxn];
int sol[maxn];
void DF( int node ) {
seen[node] = 1;
for( i = 0 ; i< G[node].size() ; ++i )
if ( !seen[G[node][i]])
DF( G[node][i]);
sol[++v] = node;
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d %d",&n,&m);
for( i = 1 ; i <= m ; ++i ) {
scanf("%d %d",&a,&b);
G[a].push_back(b);
}
for( i = 1 ; i <= n ; ++i )
if ( !seen[i])
DF(i);
for( i = v ; i >= 1 ; --i )
printf("%d ",sol[i]);
return 0;
}