Example #1
0
void burn() {
	leaf top;

	// while(true) {

		top=Q.min();

		std::cout<<"____"<<top<<"____\n";

		if(top.i==size-1 && top.j==size-1){
			std::cout<<top.minsum<<std::endl;
			return;
		}

		array[top.i][top.j].visited=true;
		top.findneighbours();

		int z;

		Q.removemin();
		// std::cout<<"\nQueue...\n";
		// Q.print();
		// std::cout<<"############\n\n";
		for(z=0;z<top.neighbours.size();++z) {
			top.neighbours[z].add(top.minsum);
			// std::cout<<"    "<<top.neighbours[z]<<'\n';
			Q.insert(top.neighbours[z]);
		}


	// int i, j;

	// for(i=0;i<5;++i){
	// 	for(j=0;j<5;++j){
	// 		std::cout<<array[i][j].visited<<" ";
	// 	}
	// 	std::cout<<"\n";
	// }

	// std::cin.get();
	burn();
	// }
}