Cod sursa(job #3239626)

Utilizator raileanu-alin-gabrielRaileanu Alin-Gabriel raileanu-alin-gabriel Data 7 august 2024 02:36:31
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <vector>
#include <queue>
const int NMAX=100005;

using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");

queue <int> c;
vector <int> v[NMAX];
int grad[NMAX];
int n, m;

int main()
{
  int i, a, b, p;
  ios_base::sync_with_stdio(false);
  cin.tie(0); cout.tie(0);
  cin>>n>>m;
  for(i=1; i<=m; i++)
  {
    cin>>a>>b;
    v[a].push_back(b);
    grad[b]++;
  }
  for(i=1; i<=n; i++)
  {
    if(grad[i]==0)
      c.push(i);
  }
  while(!c.empty())
  {
    p=c.front(); c.pop();
    cout<<p<<' ';
    for(auto i:v[p])
    {
      grad[i]--;
      if(grad[i]==0)
        c.push(i);
    }
  }
  return 0;
}