Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int inf=300;
- int z [8][8];
- int visited[8][8]={0};
- int pathfinder(int i , int j ,int visited[8][8] )
- {
- int a=0,b=0,c=0,d=0;
- if (i<0||i>7||j<0||j>7)return inf;
- if (!z[i][j]||visited[i][j]==1)return inf;
- if (i==7&&j==7)return 1;
- //if
- visited [i][j]=1;
- a=1+pathfinder(i-1,j,visited);
- b=1+pathfinder(i+1,j,visited);
- c=1+pathfinder(i,j-1,visited);
- d=1+pathfinder(i,j+1,visited);
- int pathLength=0;
- if (a < inf) {printf("%d %d\n", i-1, j);
- pathLength = a;}
- if (b < inf) {printf("%d %d\n", i+1, j);
- pathLength = b;}
- if (c < inf) {printf("%d %d\n", i, j-1);
- pathLength = c;}
- if (d < inf) {printf("%d %d\n", i, j+1);
- pathLength = d;}
- }
- int main()
- {
- z[0][0]=1;
- z[0][1]=0;
- z[0][2]=0;
- z[0][3]=0;
- z[0][4]=0;
- z[0][5]=0;
- z[0][6]=0;
- z[0][7]=0;
- z[1][0]=1;
- z[1][1]=1;
- z[1][2]=1;
- z[1][3]=0;
- z[1][4]=0;
- z[1][5]=0;
- z[1][6]=0;
- z[1][7]=0;
- z[2][0]=1;
- z[2][1]=0;
- z[2][2]=1;
- z[2][3]=1;
- z[2][4]=0;
- z[2][5]=0;
- z[2][6]=1;
- z[2][7]=0;
- z[3][0]=0;
- z[3][1]=0;
- z[3][2]=0;
- z[3][3]=1;
- z[3][4]=0;
- z[3][5]=0;
- z[3][6]=1;
- z[3][7]=0;
- z[4][0]=0;
- z[4][1]=0;
- z[4][2]=1;
- z[4][3]=1;
- z[4][4]=0;
- z[4][5]=0;
- z[4][6]=1;
- z[4][7]=0;
- z[5][0]=0;
- z[5][1]=0;
- z[5][2]=0;
- z[5][3]=1;
- z[5][4]=1;
- z[5][5]=1;
- z[5][6]=1;
- z[5][7]=0;
- z[6][0]=0;
- z[6][1]=0;
- z[6][2]=0;
- z[6][3]=0;
- z[6][4]=0;
- z[6][5]=0;
- z[6][6]=1;
- z[6][7]=0;
- z[7][0]=0;
- z[7][1]=0;
- z[7][2]=0;
- z[7][3]=0;
- z[7][4]=0;
- z[7][5]=0;
- z[7][6]=1;
- z[7][7]=1;
- int visited[8][8];
- pathfinder(0,0,visited);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement