Pagini recente » Cod sursa (job #2761769) | tema | Rating Sofronea Georgian (georgiansof) | Cod sursa (job #452132) | Cod sursa (job #1716469)
#include <iostream>
#include <vector>
#include <fstream>
#include <stack>
using namespace std;
bool visited[50001]= {false};
vector<int> noduri[50001];
stack<int> solutie;
void doShit(int startNode)
{
visited[startNode]=true;
for(int i=0; i<noduri[startNode].size(); i++)
{
int next=noduri[startNode].at(i);
if(!visited[next])
doShit(next);
}
solutie.push(startNode);
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
int n,m,x,y;/// M linii,
scanf("%d%d",&n,&m);
for(int i=0; i<m; i++)
{
scanf("%d%d",&x,&y);
noduri[x].push_back(y);
}
for(int i=1; i<=n; i++)
if(!visited[i])
doShit(i);
while(!solutie.empty())
{
printf("%d ",solutie.top());
solutie.pop();
}
return 0;
}