Pagini recente » Borderou de evaluare (job #1771009) | Cod sursa (job #1702116)
#include<iostream>
#include <vector>
#include <fstream>
using namespace std;
vector <vector <long> > graf;
vector <bool> visited;
vector <long> Array;
long n,m;
void DFS (long x)
{
visited[x]=true;
Array.push_back(x);
for (long i=0;i<graf[x].size();i++)
{
if(visited[graf[x][i]]==false)
{
DFS(graf[x][i]);
//Array.push_back(graf[x][i]);
}
}
}
void Citire ()
{
ifstream f ("sortaret.in");
f>>n>>m;
graf.resize(n);
visited.resize(n, false);
for (long i=0;i<m;i++)
{
long x,y;
f>>x>>y;
x--;
y--;
graf[x].push_back(y);
}
}
int main ()
{
Citire();
for (long i=0;i<n;i++)
if (visited[i]==false)
{
DFS(i);
//Array.push_back(i);
}
ofstream g("sortaret.out");
for (long i=0;i<Array.size();i++)
{
//cout<<Array[i]+1<<" ";
g<<Array[i]+1<<" ";
}
g.close();
return 0;
}