Cod sursa(job #1751744)

Utilizator alexrusRus Alexandru alexrus Data 1 septembrie 2016 21:09:13
Problema Sortare topologica Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<iostream>
#include<fstream>
using namespace std;
typedef struct vector
{
    int x,y;

}vector;
vector v[100001];
int viz[50001];
ifstream f("sortaret.in");
ofstream g("sortaret.out");
bool exista(int x,int y,int m)
{
    int i;
    for(i=1;i<=m;i++)
        if(v[i].x==x && v[i].y==y)
        return 1;
    return 0;
}
void dfs(int x,int m,int n)
{
    int i;
    viz[x]=1;
    for(i=1;i<=n;i++)
        if(exista(i,x,m) && !viz[i])
        dfs(i,m,n);
    g<<x<<" ";
}
int main()
{

        int i,m,n;

        f>>n>>m;
        for(i=1;i<=m;i++)
            f>>v[i].x>>v[i].y;
        for(i=1;i<=n;i++)
            if(!viz[i])
               dfs(i,m,n);
        f.close();
        g.close();
    return 0;
}