#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
struct Intersection{
int left;
int forward;
int right;
}
class Maze{
private:
int MazeSize;
int EXIT;
Intersection *intsec;
public:
Maze(char *filename);
int TraverseMaze(int CurrentPos);
}
Maze::Maze(char *filename)
{ifstream fin;
fin.open(filename,ios::in|ios::nocreate);
if(!fin){
cerr<<"The Maze data file"<<filename<<"cannot be opened!"<<endl;
exit(1);
}
fin>>MazeSize;
intsec=new Intersection[MazeSize+1];
for(int i=1;i<=MazeSize;i++)
fin>>intsec.left>>intsec.forward>>intsec.right;
fin>>EXIT;
fin.close();
}
int Maze::TraverseMazeIint currentPos){
if(CurrentPos>0){
if (CurrentPos==EXIT){
cout<<Current Pos<<" ";return 1;
}
else if(TraverMaze(intsec[CurrentPos].left))
{
cout<<CurrentPos<<" ";return 1;
}
else if(TraverseMaze(intsec[CurrentPos].right))
{cout<<CurrentPos<<" "; return 1;
}
}
return 0;
}