#include <iostream>
using namespace std;
#include "MatrizAdj.h"

void main()
{
	matadjpdig<int> M1(4, 0);

	/*

	0 <----> 1<-----+
	^        ^      |
    |        |      |
	v   	 |      v
    2 -------+      3

    */

	M1.adiciona(0, 1, 1);
	M1.adiciona(0, 2, 1);
	M1.adiciona(1, 0, 1);
	M1.adiciona(1, 3, 1);
	M1.adiciona(2, 1, 1);
	M1.adiciona(2, 0, 1);
	M1.adiciona(3, 1, 1);


	M1.escreveMatriz();

	int i, j;
	cout << "introduza dois nós" << endl;
	cin >> i;
	cin >> j;
	if (M1.existeCaminho(i, j))
		cout << "existe caminho de " << i << " para " << j << endl;
	else
		cout << "NÃO existe caminho de " << i << " para " << j << endl;

	vector<int> path;
	int peso;
	M1.caminho(i, j, peso, path);

	cout << "caminho com peso: " << peso << " e " << path.size() << " nos" << endl;
	for (int x = 0; x < path.size(); x++)
		cout << path[x] << " ";
	cout << endl;

	cout << endl;
	M1.imprimeTodosCaminhos(i, j);
}
