Pagini recente » Cod sursa (job #1919779) | Cod sursa (job #447009) | Cod sursa (job #1091921) | Cod sursa (job #2443331) | Cod sursa (job #776661)
Cod sursa(job #776661)
#include <fstream>
#include <list>
#include <vector>
using namespace std;
int N, M, j = -1, luat;
int in[50005];
list <int> out[50005];
int v[50005];
vector <int> setlol;
void Citire () {
ifstream fin ("sortaret.in");
fin >> N >> M;
int a, b;
for (int i = 0; i < M; i++)
{
fin >> a >> b;
out[a].push_back (b);
in[b]++;
}
fin.close ();
for (int i = 1; i <= N; i++)
if (!in[i]) setlol.push_back (i);
}
void Business () {
int a, b;
ofstream fout ("sortaret.out");
while (!setlol.empty ())
{
luat = 0;
a = setlol.back ();
setlol.pop_back ();
fout << a << " ";
while (!out[a].empty ())
{
b = out[a].back ();
in[b]--;
if (!in[b]) setlol.push_back (b);
out[a].pop_back ();
}
}
fout.close ();
}
int main () {
Citire ();
Business ();
return 0;
}