#include<stdio.h>
#include<stdlib.h>
#define MAX 100
int dx[4] = {-1,1,0,0};
int dy[4] = {0,0,-1,1};
typrdef struct{
    int x,y dist;
} node;
int isValid(int x,int y,int M,int N,int visited[MAX][MAX],int grid[MAX][MAX]){
    return( >= 0 && x<m && y<n && grid[x][y] == 1&&1visited[x][y]);
}
int bfshortestpath(int gridMAX[MAX]. int M,int N) {
if (grid[0][0] ==0 || grid[M-1][N_1] == 0)
return-1;

int visited[MAX][MAX = {0};
node queuke[MAX*MAX];
int front = 0,rear =0;
queue[rear++] = (node)(0,0,1);
visited[0][0] = 1;
while(front<rear){
    node curr = queue[front++];
    if(curr.x == M-1 && curr.y == N-1)
    return curr.dist;
    for(int i=0;u<4;i++){
        int nx curr.x +
    }
}
    
}