随笔 - 6, 文章 - 5, 评论 - 0, 引用 - 0
数据加载中……

[vijos] P1501 送给圣诞夜的极光

朴素的FloodFill

#include <stdio.h>
int X,Y;
char a[110][110];
int vis[110][110];
int ax[15]={0,1,-1,1,-1,0,0,0,0,1,2,-1,-2};
int ay[15]={0,1,-1,-1,1,1,2,-1,-2,0,0,0,0};
long ans;
void 
init()
{
     
      char s;
      scanf("%d%d",&X,&Y);
      scanf("%c",&s);
      int i,j;
      
      for(i=1;i<=X;i++)
      {
          for(j=1;j<=Y;j++)
              scanf("%c",&a[i][j]);
          scanf("%c",&s);
      }
}
void
dfs(int x,int y)
{
   vis[x][y]=1;
   int i;
   int u,v;
   for(i=1;i<=12;i++)
   {
                     u=x+ax[i];
                     v=y+ay[i];
                     if(u>=1 && u<= X && v>=1 && v<=Y && a[u][v]=='#' && !vis[u][v])
                     dfs(u,v);
   } 
}
void
doit()
{
      int i,j;
      for(i=1;i<=X;i++)
          for(j=1;j<=Y;j++)
              if(!vis[i][j] && a[i][j]=='#'){
                                ans++;
                                dfs(i,j);
              }
}     
 

posted on 2012-10-22 20:49 slytherin 阅读(74) 评论(0)  编辑 收藏 引用 所属分类: VIJOS


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