Cod sursa(job #2664255)

Utilizator Dusceac_Bogdan24Dusceac Bogdan Dusceac_Bogdan24 Data 28 octombrie 2020 11:21:34
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.09 kb
//#include <bits/stdc++.h>
//using namespace std;
//ifstream fin("graf.in");
//ofstream fout("graf.out");
//
//vector<int>v[50005];
//int n,m,x,y,viz[50005];
//void dfs(int nod){
//	viz[nod]=1;
//	for(auto i:v[nod]){
//		if(viz[i]==0)
//			dfs(i);
//	}
//	fout<<nod<<' ';
//}
//
//int main()
//{
//	fin>>n>>m;
//	for(int i=1;i<=m;i++){
//		fin>>x>>y;
//		v[y].push_back(x);
//		//v[x].push_back(y);
//	}
//	for(int i=1;i<=n;i++){
//		if(viz[i]==0)
//			dfs(i);
//	}
//	//dfs(1);
//    return 0;
//}
#include <fstream>
#define NMAX 50005
#include <vector>

using namespace std;
ifstream f("graf.in");
ofstream g("graf.out");

int i, n, m, x, y;
vector < int > v[NMAX];
bool visited[NMAX];

void DFS(int node)
{
    visited[node] = 1;
    for (auto &it : v[node])
        if (!visited[it])
            DFS(it);

    g << node << " ";
}

int main()
{
    f >> n >> m;

    for (i = 1; i <= m; ++ i)
    {
        f >> x >> y;
        v[y].push_back(x);
    }

    for (i = 1; i <= n; ++ i)
        if (!visited[i])
            DFS(i);

    return 0;
}