posts - 21,  comments - 9,  trackbacks - 0

DFS题目啊。看通过率就知道非常简单的。一下付代码,大家自己看下。
#include<iostream>
using namespace std;
char array[100][100];
int n,m;int count=0;
void dfs(int i,int j)
{
 if(i<0||i>n||j<0||j>m)
  return ;
 if(array[i][j]!='W')
  return ;
 array[i][j]='.';
 dfs(i-1,j);dfs(i+1,j);dfs(i,j-1);dfs(i,j+1);dfs(i-1,j-1);dfs(i-1,j+1);dfs(i+1,j-1);dfs(i+1,j+1);
}
void check()
{
 int i,j;
 for(i=0;i<n;i++)
 {
  for(j=0;j<m;j++)
  {
   if(array[i][j]=='W')
   {
    dfs(i,j);
    count++;
   }
  }
 }

}
int main()
{
 cin>>n>>m;
 for( int i=0;i<n;i++)
 {
  for(int j=0;j<m;j++)
  {
   cin>>array[i][j];
  }
 }
 check();
 cout<<count<<endl;
 return 0;
}

posted on 2010-08-18 19:20 崔佳星 阅读(1218) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜