#include<bits/stdc++.h> using namespace std; int n,m,k,l,o,p=INT_MAX,fx[4]={1,0,-1,0},fy[4]={0,1,0,-1}; char a[40][40]; void ads(int x,int y){ if(a[x][y]=='*'){ if(o<p){ p=o; } return; } for(int i=0;i<4;i++){ int tx=x+fx[i]; int ty=y+fy[i]; if(tx>=1&&tx<=n&&ty>=1&&ty<=m&&(a[tx][ty]=='.'||a[tx][ty]=='*')){ o++; a[x][y]='#'; ads(tx,ty); a[x][y]='.'; o--; } } } 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; } } } ads(k,l); if(p>21000000){ cout<<-1; return 0; } cout<<p; } /************************************************************** Problem: 1900 User: zhengzihao Language: C++ Result: Accepted Time:9 ms Memory:2076 kb ****************************************************************/