1. 程式人生 > >Oil Deposits HDU - 1241 bfs

Oil Deposits HDU - 1241 bfs

題目本身沒有任何難度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; }