diff --git a/source/solver.c b/source/solver.c index 43546c237015e776852678e96ed03ac36c410db7..1791a7558015d0463ca04974208fd91757f9a502 100644 --- a/source/solver.c +++ b/source/solver.c @@ -1,5 +1,5 @@ /* solver.c */ -/* Last Change: 2018/07/09 (Mon) 15:54:41. */ +/* Last Change: 2018/07/16 (Mon) 10:05:50. */ #include /* #include */ @@ -8,7 +8,8 @@ /* #include */ /* #include */ -int board[8][72][72]; +int board[8][72][72]={}; +int avail[8][72][72]={}; int depth,height,width; int lines; //z,y,x @@ -91,11 +92,50 @@ int connected(int line){ return 0; } -int connectable(int linea,int lineb){ - //REQUIRED +int available(int startx,int starty, int startz){ + if(avail[startz][starty][startx]==-1) + return 1; + if(startx>0&&available(startx-1,starty,startz)) + return 1; + if(starty>0&&available(startx,starty-1,startz)) + return 1; + if(startz>0&&available(startx,starty,startz-1)) + return 1; + if(startx