Pagini recente » Cod sursa (job #524993) | Cod sursa (job #1345286) | Cod sursa (job #2379083) | Cod sursa (job #890381) | Cod sursa (job #760424)
Cod sursa(job #760424)
#include<cstdio>
#include<vector>
using namespace std;
#define maxn 50001
vector <int> vecini[maxn] ;
int n,m ;
int coada[maxn] ;
int even[maxn] ;
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=1;i<=m;++i)
{
int a,b ;
scanf("%d%d",&a,&b);
vecini[a].push_back(b);
vecini[b].push_back(a);
++ even[b] ;
}
int len = 0 ;
for(int i=1;i<=n;++i)
{
if( even[i] == 0 )
{
++ len ;
coada[len] = i ;
}
}
for(int i=1;i<=len;++i)
{
if( even[coada[i]] == 0 )
{
printf("%d ",coada[i]);
for(size_t j=0;j<vecini[coada[i]].size();++j)
{
-- even[vecini[coada[i]][j]] ;
if( even[vecini[coada[i]][j]] == 0 )
{
++ len ;
coada[len] = vecini[coada[i]][j] ;
}
}
}
}
printf("\n");
return 0;
}