Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define N 4
- void printArray(int lab[N][N]);
- int ratInMaze(int lab[N][N], int x, int y);
- int isValid(int lab[N][N], int x, int y, int i);
- int mov[2][2];
- int main(){
- mov[0][0] = 0;
- mov[0][1] = 1;
- mov[1][0] = 1;
- mov[1][1] = 0;
- int lab[N][N] = {{0,1,1,1},{0,0,1,1},{1,0,1,1},{1,0,0,0}};
- if(ratInMaze(lab,0,0)){
- printArray(lab);
- }else{
- printf("No existe solucion.\n");
- }
- return 0;
- }
- void printArray(int lab[N][N]){
- int i;
- int j;
- for(i=0; i<N; i++){
- for(j=0; j<N; j++)
- printf("%d ",lab[i][j]);
- printf("\n");
- }
- }
- int ratInMaze(int lab[N][N], int x, int y){
- if(x == N-1 && y==N-1){
- lab[0][0] = 2;
- return 1;
- }
- int i;
- for(i=0; i<2; i++){
- if(isValid(lab,x,y,i)){
- int newx = x + mov[i][0];
- int newy = y + mov[i][1];
- lab[newx][newy] = 2;
- if(ratInMaze(lab,x + mov[i][0],y + mov[i][1])){
- return 1;
- }else{
- lab[newx][newy] = 0;
- }
- }
- }
- return 0;
- }
- int isValid(int lab[N][N], int x, int y, int i){
- int newx = x + mov[i][0];
- int newy = y + mov[i][1];
- if(lab[newx][newy] == 0)
- return 1;
- return 0;
- }
Add Comment
Please, Sign In to add comment