Cod sursa(job #1611620)

Utilizator eustatiuDima Eustatiu eustatiu Data 24 februarie 2016 12:00:02
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <stdio.h>
#include <map>
#include<vector>
#include<algorithm>
using namespace std;
long n,m,i,x,y,B[50001];
map <long,map<int,int> >A;
bool cmp (long x, long y)
{
    if (A[x][y]==1)
        return true;
    return false;
}
int main()
{
    freopen ("sortaret.in","r",stdin);
    freopen ("sortaret.out","w",stdout);
    scanf ("%ld%ld",&n,&m);
    for (i=1;i<=m;i++)
    {
        scanf ("%ld%ld",&x,&y);
        A[x][y]=1;
        A[y][x]=-1;
    }
    for (i=1;i<=n;i++)
        B[i]=i;
    sort (&B[1],&B[n+1],cmp);
    for (i=1;i<=n;i++)
        printf ("%ld ",B[i]);
    return 0;
}