2012-03-30 12:58:50

Abel Gancsos
generate zeroed-out TOH 3 disks, tower of hanoi, tower of hannoi

NOTE: THE FOLLOWING IS REALLY AMATEURISH AND REALLY SHOULDN'T BE USED, BUT IT DOES ENSURE CORRECT STATES

void graphState(State a)
{
char PegA[3];
char PegB[3];
char PegC[3];


//PegA
if(a.d1==1 && a.d2==1 && a.d3==1)
{
PegA[0]=1;
PegA[1]=2;
PegA[2]=3;
}

if(a.d1==1 && a.d2!=1 && a.d3==1)
{
PegA[0]=0;
PegA[1]=1;
PegA[2]=3;
}

if(a.d1==1 && a.d2==1 && a.d3!=1)
{
PegA[0]=0;
PegA[1]=1;
PegA[2]=2;
}

if(a.d1==1 && a.d2!=1 && a.d3!=1)
{
PegA[0]=0;
PegA[1]=0;
PegA[2]=1;
}

if(a.d1!=1 && a.d2==1 && a.d3==1)
{
PegA[0]=0;
PegA[1]=2;
PegA[2]=3;
}

if(a.d1!=1 && a.d2!=1 && a.d3==1)
{
PegA[0]=0;
PegA[1]=0;
PegA[2]=3;
}

if(a.d1!=1 && a.d2==1 && a.d3!=1)
{
PegA[0]=0;
PegA[1]=0;
PegA[2]=2;
}




//PegB
if(a.d1==2 && a.d2==2 && a.d3==2)
{
PegB[0]=1;
PegB[1]=2;
PegB[2]=3;
}

if(a.d1==2 && a.d2!=2 && a.d3==2)
{
PegB[0]=0;
PegB[1]=1;
PegB[2]=3;
}

if(a.d1==2 && a.d2==2 && a.d3!=2)
{
PegB[0]=0;
PegB[1]=1;
PegB[2]=2;
}

if(a.d1==2 && a.d2!=2 && a.d3!=2)
{
PegB[0]=0;
PegB[1]=0;
PegB[2]=1;
}

if(a.d1!=2 && a.d2==2 && a.d3==2)
{
PegB[0]=0;
PegB[1]=2;
PegB[2]=3;
}

if(a.d1!=2 && a.d2!=2 && a.d3==2)
{
PegB[0]=0;
PegB[1]=0;
PegB[2]=3;
}

if(a.d1!=2 && a.d2==2 && a.d3!=2)
{
PegB[0]=0;
PegB[1]=0;
PegB[2]=2;
}


//PegC
if(a.d1==3 && a.d2==3 && a.d3==3)
{
PegC[0]=1;
PegC[1]=2;
PegC[2]=3;
}

if(a.d1==3 && a.d2!=3 && a.d3==3)
{
PegC[0]=0;
PegC[1]=1;
PegC[2]=3;
}

if(a.d1==3 && a.d2==3 && a.d3!=3)
{
PegC[0]=0;
PegC[1]=1;
PegC[2]=2;
}

if(a.d1==3 && a.d2!=3 && a.d3!=3)
{
PegC[0]=0;
PegC[1]=0;
PegC[2]=1;
}

if(a.d1!=3 && a.d2==3 && a.d3==3)
{
PegC[0]=0;
PegC[1]=2;
PegC[2]=3;
}

if(a.d1!=3 && a.d2!=3 && a.d3==3)
{
PegC[0]=0;
PegC[1]=0;
PegC[2]=3;
}

if(a.d1!=3 && a.d2==3 && a.d3!=3)
{
PegC[0]=0;
PegC[1]=0;
PegC[2]=2;
}




printf("\n\nGraph-\n\n");



printf(" %d\t %d\t %d\n",PegA[0],PegB[0],PegC[0]);
printf(" %d\t %d\t %d\n",PegA[1],PegB[1],PegC[1]);
printf(" %d\t %d\t %d\n",PegA[2],PegB[2],PegC[2]);

printf("___\t___\t___\n");
printf(" A \t B \t C \n\n");
}