题目传送门
#include<bits/stdc++.h>
using namespace std;
int i,j,n,m,dx[]={-1,0,1,0},dy[]={0,1,0,-1},ans;
int x[10001],y[10001];
char t;
int main(){
cin>>n>>m;
int a[n+1][m+1];
bool b[n+1][m+1];
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
a[i][j]=0;
b[i][j]=0;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>t;
if(t=='*')b[i][j]=1;
else if(t=='S')a[i][j]=1;
else if(t=='M')a[i][j]=5;
else if(t=='L')a[i][j]=10;
}
}
cin>>i>>j;
i++;
j++;
int h=0,t=1;
x[1]=i,y[1]=j;
ans+=a[i][j];
b[i][j]=1;
while(h<t){
h++;
int tx=x[h],ty=y[h];
for(int i=0;i<4;i++){
int xx=tx+dx[i];
int yy=ty+dy[i];
if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&!b[xx][yy]){
ans+=a[xx][yy];
t++;
x[t]=xx;
y[t]=yy;
b[xx][yy]=1;
}
}
}
cout<<ans;
return 0;
}