Pagini recente » Cod sursa (job #1284544) | Cod sursa (job #310326) | Cod sursa (job #2098238) | Cod sursa (job #2406890)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
const int maxN=5e4+1;
int n,m;
vector<int> v[maxN];
int deg[maxN];
int main(){
ifstream f("sortaret.in");
ofstream g("sortaret.out");
f>>n>>m;
for(int i=1;i<=m;i++){
int x,y;
f>>x>>y;
v[x].push_back(y);
deg[y]++;
}
queue<int> Que;
for(int i=1;i<=n;i++){
if(deg[i]==0){
Que.push(i);
}
}
while(!Que.empty()){
int nod=Que.front();
Que.pop();
g<<nod<<" ";
for(auto it:v[nod])
if(deg[it]>0){
deg[it]--;
if(deg[it]==0){
Que.push(it);
}
}
}
return 0;
}