Pagini recente » Cod sursa (job #480525) | Cod sursa (job #1203180) | Cod sursa (job #916128) | Cod sursa (job #635807) | Cod sursa (job #1200604)
#include<stdio.h>
#include<vector>
using namespace std;
vector<int> m[50010],sol;
bool viz[50010];
int N,M,x,y;
void dfs(int x) {
viz[x]=1;
for(int i=0;i<m[x].size();++i) {
if(!viz[m[x][i]]) {
dfs(m[x][i]);
}
}
sol.push_back(x);
}
int main() {
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","r",stdin);
scanf("%d%d",&N,&M);
for(int i=1;i<=M;++i) {
scanf("%d%d",&x,&y);
m[x].push_back(y);
}
for(int i=1;i<=N;++i) {
if(!viz[i]) {
dfs(i);
}
}
for(int i=sol.size()-1;i>=0;--i) {
printf("%d ",sol[i]);
}
}