維克斯討論區
#include <iostream>
#include <iomanip>
using namespace std;
void printgraph( int a[][29], int row, int col);
int findway( int array[][29] , int x , int y );
void printgraph( int a[][29],int row, int col)
{
for(int i = 0; i < row; i++)
{
for( int j = 0; j < col; j++)
{
if( a[j] == 1)
cout <<" @";
else if( a[j] == 2)
cout<<" .";
else
cout <<" ";
}
cout << endl;
}
cout << endl;
};
int findway( int array[][29] ,int x , int y )
{
if ( x == 0 && y == 27 )
{
array[x][y] = 2;
return 1 ;
}
else if ( x == 12 && y == 1 )
{
array[x][y] = 2;
return findway( array ,11 ,1 );
}
else if ( array[x][y] == 1 || array[x][y] == 2 )
{
return 0;
}
else
{
array[x][y] = 2;//判斷走過地方
if ( array[x+1][y] == 2 && ( findway( array , x , y+1 ) || findway( array , x-1 , y ) || findway( array , x , y-1 ))
)
{
return 1;
}
else if ( array[x][y+1] == 2 && ( findway( array , x-1 , y ) || findway( array , x , y-1 ) || findway( array , x+1 , y )))
{
return 1;
}
else if ( array[x-1][y] == 2 && ( findway( array , x , y-1 ) || findway( array , x+1 , y ) || findway( array , x , y+1 )))
{
return 1;
}
else if ( array[x][y-1] == 2 && ( findway( array , x+1 , y ) || findway( array , x , y+1 ) || findway( array , x-1 , y )))
{
return 1;
}
else
{
array[x][y] = 0;
return 0;
}
}
}
int main()
{
const int row = 13 ,col = 29 ;
int a[row][col] =
{
{1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,0 ,1},
[ 瀏覽完整內容請先註冊或登入會員。]
|