Cod sursa(job #2724803)

Utilizator niculaandreiNicula Andrei Bogdan niculaandrei Data 17 martie 2021 21:15:14
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

const int N_MAX = 5e4 + 5;

int N, M, u, v;
vector < pair < int, int > > edges;
int used[N_MAX];

int main()
{
    fin >> N >> M;
    for (int i = 1; i <= M; i++)
    {
        fin >> u >> v;
        edges.push_back(make_pair(u, v));
    }
    sort(edges.begin(), edges.end());
    for (int i = 0; i < M; i++)
    {
        u = edges[i].first;
        if (used[u] == 0)
            fout << u << " ";
        used[u] = 1;
    }
    for (int i = 0; i < M; i++)
    {
        v = edges[i].second;
        if (used[v] == 0)
            fout << v << " ";
        used[v] = 1;
    }
    for (int i = 1; i <= N; i++)
        if (used[i] == 0)
            fout << i << " ";
    return 0;
}