Pagini recente » Diferente pentru info-oltenia-2019/individual/clasament/5-6 intre reviziile 1 si 3 | Istoria paginii utilizator/patriciat | Istoria paginii utilizator/andreeacristiana | Istoria paginii utilizator/versinmadalina | Cod sursa (job #2037751)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
const int N = 50010;
int n,m,x,y,s,lo,hi,gr[N],sol[N];
vector<int> v[N];
queue<int> q;
int main()
{
f>>n>>m>>s;
for(; m; m--)
{
f>>x>>y;
v[x].push_back(y);
gr[y]++;
}
for(int i=1;i<=n;i++)
if(!gr[i])
sol[++hi]=i;
lo=1;
for(;hi<n;lo++)
{
x=sol[lo];
for(auto vec:v[x])
{
gr[vec]--;
if(!gr[vec])
sol[++hi]=vec;
}
}
return 0;
}