Pagini recente » Cod sursa (job #744252) | Cod sursa (job #2870529) | Cod sursa (job #2952824) | Cod sursa (job #2264966) | Cod sursa (job #630197)
Cod sursa(job #630197)
#include <fstream>
#include <bitset>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector <int> A[50001];
bitset <50001> fi;
bitset <50001> vi;
int n,a,b,i,m,c[50001];
void dfs(int nod) {
vi[nod]=1;
int x;vector<int>::iterator it;
for (it=A[nod].begin();it!=A[nod].end();it++) {
x=*it;
if (vi[x]==0) {
c[++c[0]]=x;
dfs(x);
}
}
return ;
}
int main () {
f >> n >> m;
for (i=1;i<=m;i++) {
f >> a >> b;
fi[b]=1;A[a].push_back(b);
}
for (i=1;i<=n;i++)
if (fi[i]==0) {
c[++c[0]]=i;
dfs(i);
}
for (i=1;i<=n;i++) g << c[i] << ' ';
f.close();g.close();
return 0;
}