Pagini recente » Cod sursa (job #1095907) | Cod sursa (job #2559142) | Cod sursa (job #134722) | Cod sursa (job #2431381) | Cod sursa (job #575161)
Cod sursa(job #575161)
#include <fstream>
#include <vector>
using namespace std;
const int N=50001;
int need[N],n,m;
bool use[N];
vector<int> a[N];
ifstream in("sortaret.in");
ofstream out("sortaret.out");
void mark(int x)
{
use[x]=true;
out<<x<<" ";
for (int i=0;i<a[x].size();i++)
{
int y=a[x][i];
need[y]--;
if (!need[y])
mark(y);
}
}
int main()
{
int x,y;
in>>n>>m;
while (m--)
{
in>>x>>y;
a[x].push_back(y);
need[y]++;
}
for (int i=1;i<=n;i++)
if (!use[i] && !need[i])
mark(i);
out<<"\n";
return 0;
}