读书人

搜寻:zoj 1709 || poj 1562 Oil Depo

发布时间: 2012-10-31 14:37:32 作者: rapoo

搜索:zoj 1709 || poj 1562 Oil Deposits—FS )

【转】http://blog.csdn.net/zxy_snow/article/details/5947298

?

#include<stdio.h>#include <stdlib.h>#include <iostream>#include <memory.h>using namespace std;int map[110][110];int visit[110][110];int m,n,cou;int dir[16] = { 1,0,-1,0,0,1,0,-1,1,1,1,-1,-1,1,-1,-1};int fi,fj;int find(){for(int i=1; i<=m; i++)for(int k=1; k<=n; k++){if(!visit[i][k] && map[i][k]){fi = i;fj = k;return 1;}}return 0;}void DFS(int i , int j ){visit[i][j] = 1;for(int k=0; k<16; k+=2){int a = i+dir[k];int b = j+dir[k+1];if( a>=1 && a<=m && b>=1 && b<=n && map[a][b] && !visit[a][b] ){visit[a][b] = 1;DFS(a,b);}}} int main(void){char str[110];while( cin >> m >> n && m ){cou = 0;memset(visit,0,sizeof(visit));for(int i=1; i<=m ;i++){cin >> str;for(int k=0; k<n; k++)map[i][k+1] = (str[k] == '*'? 0 : 1);}while( find() ){cou++;DFS(fi,fj);}cout << cou << endl;}    return 0;}

?

读书人网 >操作系统

热点推荐