码迷,mamicode.com
首页 > 其他好文 > 详细

POJ LAKE COUNTING 2386

时间:2014-10-12 20:19:48      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:io   os   ar   for   sp   on   amp   bs   算法   

基本的dfs的题,看了挑战程序设计这本书对这个算法有了些初步的了解,通过不断的查找不断的更改,找到连在一起的块,提交poj的时候compile error 了两次,第一次没有修改编译器,可能是很久没做题的原因了吧,然后就是纠结是否输入的时候要加循环,导致while 的括号多了一个,我的codeblocks也没发现这个bug,算了,acm的题还是多练吧

#include<iostream>
#include<cstdio>
using namespace std;
const int MAX_N=101,MAX_M=101;
int n,m;
char field[MAX_N][MAX_M];
void dfs(int x,int y){
    field[x][y]=‘.‘;
    for(int xn=-1;xn<=1;xn++){
        for(int yn=-1;yn<=1;yn++){
            int xx=xn+x;
            int yy=yn+y;
            if(0<=xx&&xx<=n&&0<=yy&&yy<=m&&field[xx][yy]==‘W‘)
                dfs(xx,yy);
        }
    }
}
void solve(){
    int res=0;
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            if(field[i][j]==‘W‘){
                dfs(i,j);
                res++;
            }
        }


    }
    printf("%d\n",res);
}
int main(){
    cin>>n>>m;
   // char field[MAX_N][MAX_N+1];
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cin>>field[i][j];
        }
    }
    solve();
   
    return 0;
}

POJ LAKE COUNTING 2386

标签:io   os   ar   for   sp   on   amp   bs   算法   

原文地址:http://blog.csdn.net/u012315428/article/details/40019959

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!