Pagini recente » Cod sursa (job #1609411) | Cod sursa (job #858115) | Cod sursa (job #2865166) | Cod sursa (job #1356667) | Cod sursa (job #1343265)
#include<fstream>
#include<vector>
#include<string.h>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
vector<int> v[50010];
int n,m,a[50010];
int solutie[50010];
void rezolvare()
{
vector<int>::iterator it;
for(int i=1;i<=n;++i)
if( a[i] ==0)
solutie[ ++solutie[0] ]=i;
for(int i=1;i<=n;++i){
int x=solutie[i];
for( it=v[x].begin() ; it!=v[x].end() ; ++it ){
a[*it]--;
if( a[*it]==0)
solutie[++solutie[0]]=*it;
}
}
}
int main()
{
int r,p;
cin>>n>>m;
for(int i=1;i<=m;++i){
cin>>r>>p;
v[r].push_back(p);
}
rezolvare();
for(int i=1;i<=n;++i) cout<<solutie[i]<<" ";
return 0;
}