Pagini recente » Cod sursa (job #2478647) | Cod sursa (job #1258655) | Cod sursa (job #3160871) | Cod sursa (job #1964865) | Cod sursa (job #1418473)
#include <iostream>
#include <vector>
#include <fstream>
#define nmax 50005
using namespace std;
int n, m, deg[nmax], Q[nmax];
vector<int> G[nmax];
void solve(){
int i, x;
vector<int>::iterator it;
for(x=1; x<=n; x++)
if(deg[x] == 0)
Q[++Q[0]]=x;
for(i=1; i<=n; i++){
x = Q[i];
for(it=G[x].begin(); it != G[x].end(); ++it){
deg[*it]--;
if(deg[*it] == 0)
Q[++Q[0]] = *it;
}
}
}
void read(){
int i, x, y;
ifstream f("sortaret.in");
f >> n >> m;
for(i=1; i<=n; i++){
f >> x >> y;
G[x].push_back(y);
deg[y]++;
}
}
void write(){
int i;
ofstream g("sortaret.out");
for(i=1; i<=n; i++);
g << Q[i] << " ";
}
int main()
{
read();
solve();
write();
return 0;
}