Pagini recente » Cod sursa (job #1153687) | Cod sursa (job #1690646) | Cod sursa (job #2962825) | Cod sursa (job #1020783) | Cod sursa (job #1442859)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
void bfs(vector< vector<int> > v, vector< vector<int> >& viz, int nod, ofstream& g)
{
for (int j = 0; j < v[nod].size(); j++)
{
for (int q = 0; q < viz[nod].size(); q++)
if (viz[nod][q] == v[nod][j])
goto skip;
g << nod << " ";
viz[nod].push_back(v[nod][j]);
bfs(v, viz, v[nod][j],g);
skip:;
}
}
int main()
{
int n, m, i, j, nod1, nod2, flag = 1;
ifstream f("euler_in.txt");
f >> n >> m;
vector< vector<int> > v(n + 1);
vector< vector<int> > viz(n + 1);
for (i = 0; i < m; i++)
{
f >> nod1 >> nod2;
v[nod1].push_back(nod2);
}
for (i = 1; i <= n; i++)
for (j = 0; j < v[i].size(); j++)
cout << "v[" << i << "][" << j << "]= " << v[i][j]<<"\n";
ofstream g("euler_out.txt");
for (i = 1; i <= n; i++)
{
for (j = 0; j < v[i].size(); j++)
{
for (int q = 0; q < viz[i].size(); q++)
if (viz[i][q]==v[i][j])
goto skip;
g << i << " ";
viz[i].push_back(v[i][j]);
bfs(v, viz, v[i][j],g);
skip:;
}
}
f.close();
g.close();
return 0;
}