Pagini recente » Cod sursa (job #2473430) | Cod sursa (job #3247205) | Cod sursa (job #2889912) | Cod sursa (job #2737717) | Cod sursa (job #899027)
Cod sursa(job #899027)
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
deque <int> c;
int grd[50001];
vector <int> v[50001];
int vz[50001];
vector <int> stuff;
int n,m;
int main() {
int a,b,i,j;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
in>>n>>m;
for (i=1; i<=m; i++) {
in>>a>>b;
v[a].push_back(b);
grd[b]++;
}
for (i=1; i<=n; i++)
if (grd[i]==0)
c.push_back(i);
while (!c.empty()) {
a=c[0];
stuff.push_back(a);
c.pop_front();
vz[a]=1;
for (i=0; i<v[a].size(); i++) {
//if (!vz[v[a][i]]) {
grd[v[a][i]]--;
if (grd[v[a][i]]==0) {
c.push_back(v[a][i]);
}
}
}
for (i=0; i<stuff.size(); i++)
out<<stuff[i]<<' ';
out<<'\n';
out.close();
return 0;
}