Pagini recente » Cod sursa (job #2396982) | Cod sursa (job #2926215) | Cod sursa (job #317164) | Cod sursa (job #3156081) | Cod sursa (job #727659)
Cod sursa(job #727659)
#include <cstdio>
#include <vector>
#define pb push_back
using namespace std;
FILE *f,*g;
vector <int> in[50100],out[50100];
int bf[50100],n,m,i,x,y;
void df(int x) {
int i;
bf[x]=1;
for (i=0;i<in[x].size();i++)
if (!bf[in[x][i]])
df(in[x][i]);
fprintf(g,"%d ",x);
for (i=0;i<out[x].size();i++)
if (!bf[out[x][i]])
df(out[x][i]);
}
int main() {
f=fopen("sortaret.in","r");
g=fopen("sortaret.out","w");
fscanf(f,"%d%d",&n,&m);
for (i=1;i<=m;i++) {
fscanf(f,"%d%d",&x,&y);
out[x].pb(y);
in[y].pb(x);
}
for (i=1;i<=n;i++)
if (!bf[i])
df(i);
fclose(g);
return 0;
}