Pagini recente » Cod sursa (job #224752) | Cod sursa (job #1100262) | Cod sursa (job #1114143) | Cod sursa (job #2217619) | Cod sursa (job #950350)
Cod sursa(job #950350)
#include <fstream>
#include <list>
#include <vector>
using namespace std;
typedef vector<list<int>> t_g;
int n;
t_g g;
vector<bool> visited;
list<int> sol;
void read()
{
int m, s, d;
ifstream fin("sortaret.in");
fin>>n>>m;
g = t_g(n+1);
visited = vector<bool>(n+1, false);
while(m--)
{
fin>>s>>d;
g[s].push_back(d);
}
fin.close();
}
void df(int f)
{
visited[f]=true;
for(auto s : g[f])
if(!visited[s])
df(s);
sol.push_front(f);
}
void solve()
{
for(int i=1; i<=n; ++i)
if(!visited[i])
df(i);
}
void write()
{
ofstream fout("sortaret.out");
for(auto n : sol)
fout<<n<<" ";
fout.close();
}
int main()
{
read();
solve();
write();
return 0;
}