Mai intai trebuie sa te autentifici.
Cod sursa(job #2227941)
| Utilizator | Data | 2 august 2018 11:41:11 | |
|---|---|---|---|
| Problema | Sortare topologica | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector<int>G[50001];
int c[50001];
bitset<50001>v;
int nr,n,m;
void dfs(int k)
{
v[k]=1;
for(vector<int>::iterator it=G[k].begin();it<G[k].end();++it)
{
if(v[*it]==0)
{
dfs(*it);
}
}
c[++nr]=k;
}
int main()
{
f>>n>>m;
for(int i,j;m;--m)
{
f>>i>>j;
G[i].push_back(j);
}
for(int i=1;i<=n;++i)
if(v[i]==0)
{
dfs(i);
}
for(int i=nr;i>=1;--i)
g<<c[i]<<' ';
}
