Oil Deposits HDU - 1241 bfs
阿新 • • 發佈:2018-12-23
題目本身沒有任何難度emmm
笨笨的我在to陣列賦值的時候寫成了括號()然後迷之wa
下次注意。大括號
#include<stdio.h>
#include<string.h>
char a[105][105];
int m,n;
void zhixing(int x,int y)
{
//a[x][y]='*';
int to[8][2]={{-1,0},{0,1},{1,0},{0,-1},{-1,-1},{-1,1},{1,-1},{1,1}};
int xnew,ynew;
for(int i=0;i<=7;i++)
{
xnew=x+to[i][0 ];
ynew=y+to[i][1];
//printf("new(%d,%d)\n",xnew,ynew);
if(xnew>=0 && xnew<m && ynew>=0 && ynew<n)
{
if(a[xnew][ynew]=='@')
{
a[xnew][ynew]='*';
zhixing(xnew,ynew);
}
}
}
}
int main()
{
while(scanf("%d%d",&m,&n) && m!=0||n!=0)
{
int cout=0;
for(int i=0;i<m;i++)
scanf("%s",a[i]);
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
if(a[i][j]=='@') {
//printf("(%d,%d)\n",i,j);
a[i][j]='*';
cout++;
zhixing(i,j);
}
}
printf("%d\n",cout);
}
return 0;
}