Pagini recente » Cod sursa (job #1255361) | Cod sursa (job #1600115) | Cod sursa (job #2544163) | Cod sursa (job #420805) | Cod sursa (job #2424991)
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
struct nod{
int nr, ordin, vizitat;
vector <int> legaturi;
};
void parcurge(int n, vector<nod> noduri)
{
int i, j, k;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (noduri[i].ordin == 0 && noduri[i].vizitat == 0)
{
noduri[i].vizitat = 1;
g<<i + 1<<" ";
for (k = 0; k < noduri[i].legaturi.size(); k++)
noduri[noduri[i].legaturi[k] - 1].ordin--;
}
}
int main()
{
vector<nod> noduri;
int n, m, i, a, b, j;
f>>n>>m;
for (i = 0; i < n; i++)
{
nod nou;
nou.nr = i + 1;
nou.ordin = 0;
nou.vizitat = 0;
noduri.push_back(nou);
}
for (i = 0; i < m; i++)
{
f>>a>>b;
noduri[b-1].ordin++;
noduri[a-1].legaturi.push_back(b);
}
parcurge(n, noduri);
return 0;
}