首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

Oil Deposits 容易搜索 DFS()

2013-02-05 
Oil Deposits简单搜索DFS()Oil DepositsTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/3276

Oil Deposits 简单搜索 DFS()

Oil DepositsTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6382    Accepted Submission(s): 3710


Problem DescriptionInputOutputSample InputSample Output
0122   #include<cstdio>using namespace std;char map[1001][1001];int a,b;int dir[8][2]={    {1,0},    {1,1},    {1,-1},    {0,-1},    {0,1},    {-1,0},    {-1,1},    {-1,-1}};void DFS(int c,int d){    map[c][d]='*';    for(int k=0; k<8; k++)    {        int i=c+dir[k][0];        int j=d+dir[k][1];        if(i>=0&&i<a&&j>=0&&j<b&&map[i][j]=='@')            DFS(i,j);    }}int main(){    while(scanf("%d%d",&a,&b)!=EOF)    {        int sum=0;        if(a==0&&b==0)  break;        getchar();        for(int i=0; i<a; i++)            scanf("%s",map[i]);        for(int i=0; i<a; i++)        {            for(int j=0; j<b; j++)                if(map[i][j]=='@')                {                    sum++;                    DFS(i,j);                }        }        printf("%d\n",sum);    }    return 0;}

热点排行