Pagini recente » Cod sursa (job #1633498) | Cod sursa (job #1941771) | Cod sursa (job #391437) | Cod sursa (job #889760) | Cod sursa (job #1748691)
#include <fstream>
#include <stack>
#include <list>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
#define Nmax 50001
#define Mmax 100001
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n, m;
bool values[Nmax];
int *adc[Nmax];
stack <int> st;
int main()
{
int x, y;
fin >> n >> m;
for( int i = 1; i <=n; i++)
adc[i] = (int*) calloc(1,sizeof(int));
for(int i = 1; i <=m; i++ )
{
fin >> x >> y;
adc[x] =(int * ) realloc(adc[x],(adc[x][0] + 2) * sizeof(int));
adc[x][0]++;
adc[x][adc[x][0]] = y;
}
st.push(1);
while(!st.empty()){
x = st.top();
st.pop();
if(values[x] == false){
fout << x << " ";
values[x] = true;
for(int i = 1; i <= adc[x][0]; i++)
if(values[adc[x][i]] == false)
st.push(adc[x][i]);
}
}
fin.close();
fout.close();
return 0;
}