Pagini recente » Cod sursa (job #1052863) | Cod sursa (job #972149) | Cod sursa (job #391423) | Cod sursa (job #2198560) | Cod sursa (job #2697304)
#include <iostream>
#include <fstream>
#include <iostream>
#include <vector>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("traversare.in");
vector<int> la[1001];
int n, mat[1001][1001];
void afisare(vector<int> v)
{
for (int i = 0; i < v.size(); i++)
{
cout << v[i] << " ";
}
cout << endl;
}
int adiacente(int x, int y)//Afiseaza lista de adiacente
{
for (int i = 0; i < la[x].size(); i++)
{
if (la[x][i] == y) { return 1; }
}
return 0;
}
int adiacente1(int x, int y)//Verifica daca x e adiacent cu y
{
return binary_search(la[x].begin(), la[x].end(), y);
}
/*int grad(int x)//Verifica cate grade are x daca avem deja lista
{
return la[x].size();
}
*/
int grad(int x)//Verifica cate grade are x daca avem deja lista
{
int ct = 0;
for (int i = 0; i < la[x].size(); i++)
ct++;
return ct;
}
void mat_adiacent(vector<int> la[], int n, int a[1001][1001])//Graf adiacent -> Mat Adiacent
{
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
a[i][j] = 0;
//Varianta mai veche de C++
/*for (int i = 1; i <= n; i++)
for (int j = 0; j < la[i].size(); j++)
a[i][la[i][j]] = 1;
*/
//Varianta noua pentru C++ mai noi
for (int i = 1; i <= n; i++)
for (int j : la[i])
a[i][j] = 1;
}
int n;
bool viz[101];
void dfs(int nod) {
cout << nod << " ";
viz[nod] = 1;
for (int vecin = 1; vecin <= n; vecin++) {
if (mat[nod][vecin] == 1) {
if (viz[vecin] == false) {
viz[vecin] = true;
dfs(vecin);
}
}
}
}
void dfs(int nod) {
cout << nod << " ";
viz[nod] = 1;
for (int i = 1; i<= n; i++)
{
for(int j=0;j<=v[i].;j++)
{
if ( == 1) {
if (viz[vecin] == false) {
viz[vecin] = true;
dfs(vecin);
}
}
}
}
int main() {
int x, y;
fin >> n;
while (fin >> x >> y)
{
la[x].push_back(y);
la[y].push_back(x);
}
for(int i=1;i<=n;i++)
{
sort(la[i].begin(),la[i].end());
}
cout << "Dati nodul de plecare" << endl;
cin >> nod;
dfs(nod);
return 0;
}