Pagini recente » Cod sursa (job #2287791) | Cod sursa (job #904906) | Cod sursa (job #2480924) | Cod sursa (job #756676) | Cod sursa (job #332746)
Cod sursa(job #332746)
#include <fstream>
#include <vector>
#define maxn 100000
using namespace std;
int rN,N,M,i,j,aa,ab,c[maxn/2+100],sortat[maxn/2+100];
vector<int> d[maxn/2+100];
int main() {
ifstream in;
ofstream out;
in.open("sortaret.in");
out.open("sortaret.out");
in >> N >> M;
for (i=0;i<M;i++)
{
in>>aa>>ab;
d[aa].push_back(ab);
++c[ab];
}
for (i=1;i<=N;i++)
if (c[i]==0) sortat[++sortat[0]]=i;
vector<int>::iterator vcounter;
for (i=1;i<=N;i++)
{
int x=sortat[i];
for (vcounter=d[x].begin(); vcounter!=d[x].end(); vcounter++)
{
c[*vcounter]--;
if (c[*vcounter]==0) sortat[++sortat[0]]=*vcounter;
}
}
for (i=1;i<=N;i++)
out<<sortat[i]<<" ";
out.close();
return 0;
}