Mai intai trebuie sa te autentifici.
Cod sursa(job #1574484)
| Utilizator | Data | 20 ianuarie 2016 16:55:10 | |
|---|---|---|---|
| Problema | Sortare topologica | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define MAX 50001
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n , m , x , y;
vector < int > G[MAX];
bool used[MAX];
void dfs( int i )
{
g << i <<" ";
used[i] = true;
for ( vector < int > ::iterator j = G[i].begin() ; j != G[i].end(); j++ )
if ( ! used[(*j) ] )
dfs ( (*j) );
}
int main()
{
f >> n >> m;
for ( ;m-- ; )
{
f >> x >> y;
G[x].push_back(y);
}
for (int i = 1 ; i <=n ; ++i )
if ( !used[i] )
dfs(i);
g << "\n" ;
return 0;
}
