#include<bits/stdc++.h> using namespace std; int n,m,k,l,fy[4]={1,0,-1,0},fx[4]={0,1,0,-1}; char a[100][100]; int u,q,w=INT_MAX,e,ans=0; void asd(int x,int y){ ans++; if(a[x][y]=='*'){ if(w>ans){ w=ans; } ans--; return; } for(int i=0;i<4;i++){ int tx=fx[i]+x; int ty=fy[i]+y; if(tx>0&&ty>0&&tx<=n&&ty<=m&&(a[tx][ty]=='.'||a[tx][ty]=='*')){ a[x][y]='#'; asd(tx,ty); if(x==k&&y==l){ a[x][y]='@'; } a[x][y]='.'; } } ans--; return; } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; if(a[i][j]=='@'){ k=i; l=j; } } } asd(k,l); cout<<w--; } /************************************************************** Problem: 1900 User: zhengzihao Language: C++ Result: Wrong Answer ****************************************************************/