Pagini recente » Cod sursa (job #522816) | Cod sursa (job #150733) | Cod sursa (job #893992) | Cod sursa (job #978912) | Cod sursa (job #796643)
Cod sursa(job #796643)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
void vizit(vector<bool>& viz, vector<vector<int> >& vizy, int nod, ofstream& fis) {
for(int i = 0; i< vizy[nod].size(); i++)
if(viz[vizy[nod][i]] == false) {
viz[vizy[nod][i]] = true;
vizit(viz, vizy, vizy[nod][i], fis);
fis << vizy[nod][i] << " ";
}
}
int main() {
ifstream in("sortaret.in");
int N, M, n1, n2;
in >> N >> M;
vector<vector<int> > x(N+1, vector<int>());
vector<vector<int> > y(N+1, vector<int>());
vector<bool> viz(N+1, false);
for(int i = 0; i < M; i++) {
in >> n1 >> n2;
x[n1].push_back(n2);
y[n2].push_back(n1);
}
in.close();
ofstream out("sortaret.out");
for(int i = 1; i <= N; i++)
if(viz[i] == false) {
viz[i] = true;
vizit(viz, y, i, out);
out << i << " ";
}
out.close();
return 0;
}