Question: Is there a way to convert this to Python or Java #include #include #include #include #include #include #include #include #include #include char inp[405][405]; int vis[405][405];
Is there a way to convert this to Python or Java
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
char inp[405][405];
int vis[405][405];
long treasure_type[10];
int n,m,t;
int s_start_x, s_start_y;
int rw[]= {0, -1,0,1};
int c1[]={1,0,-1,0};
int issafe(int i , int j){
return i >= 0 && j >= 0 && i < m && j < n&& inp[i][j] != 'S' && inp[i][j]!='M' && inp[i][j]!= '#';
}
long long dfs_helper(int i, int j, int tot){
if (tot <= 0){
return 0;
}
vis[i][j] = 1;
int k,dx,dy,val = 0;
long long checker = INT_MAX;
for (k = 0; k<4; k++){
dx = i + rw[k];
dy = j + c1[k];
if (issafe(dx,dy) && vis[dx][dy] != 1){
if (inp[dx][dy] != '.') val = treasure_type[(int)inp[dx][dy]- '0'];
else val = 0;
checker = fmin(checker,dfs_helper(dx,dy,tot - val) + 1);
}
}
vis[i][j] = 0;
return checker;
}
int main(){
scanf("%d %d %d", &m,&n,&t);
int i = 0, j = 0;
for (i = 0; i fgets(inp[i], sizeof(inp[i]), stdin); } while(getchar() != ' '); for (i = 0; i <10; i ++){ scanf("%lu", &treasure_type[i]); } for (i = 0; i for (j = 0; j < n; j++){ if(inp[i][j] == 'S'){ s_start_x = i; s_start_y = j; } } } printf("%d", dfs_helper(s_start_x,s_start_y,t)); return 0; }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
