Pagini recente » Cod sursa (job #265982) | Cod sursa (job #874107) | Cod sursa (job #1798723) | Cod sursa (job #1012604) | Cod sursa (job #2089795)
#include <iostream>
#include <fstream>
#include <vector>
#define pb push_back
#define ll long long
using namespace std;
const int N = 1e5 + 10;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n, m;
vector < int > v[N];
bool b[N];
bool start[N];
void dfs(int cnod)
{
b[cnod] = true;
for(int i = 0; i < v[cnod].size(); ++i)
{
int nnod = v[cnod][i];
if(!b[nnod])
{
dfs(nnod);
}
}
fout << cnod << " ";
}
int main()
{
fin >> n >> m;
int x, y;
for(int i = 0; i < m; ++i)
{
fin >> y >> x;
v[x].pb(y);
start[y] = true;
}
/*
for(int i = 1; i <= n; ++i)
cout << start[i] << " ";
cout << "\n";
*/
int s = 1;
while(s <= n)
{
if(!b[s] && !start[s])
{
//cout << "*" << s << "\n";
dfs(s);
}
++s;
}
fout << "\n";
return 0;
}