my code is showing tle beacause i have used DFS but can anyone tell me whether my logic is correct or wrong ???
typedef long long ll;
bool ispossible(ll n,ll m,ll i,ll j){
if(i>=n || i<0 || j>=m || j<0){
return false;
}
return true;
}
ll DFS(ll** arr,ll** brr,ll n,ll m,ll** visited,ll i,ll j){
if(arr[i][j]==1){
return 0;
}
visited[i][j]=1;
ll x=INT_MAX;
ll y=INT_MAX;
ll z=INT_MAX;
ll w=INT_MAX;
if(ispossible(n,m,i+1,j) && visited[i+1][j]==0){
x=helper(arr,brr,n,m,visited,i+1,j)+1;
}
if(ispossible(n,m,i-1,j) && visited[i-1][j]==0){
y=helper(arr,brr,n,m,visited,i-1,j)+1;
}
if(ispossible(n,m,i,j+1) && visited[i][j+1]==0){
z=helper(arr,brr,n,m,visited,i,j+1)+1;
}
if(ispossible(n,m,i,j-1) && visited[i][j-1]==0){
w=helper(arr,brr,n,m,visited,i,j-1)+1;
}
visited[i][j]=0;
return min(x,min(y,min(z,w)));
}