[kuangbin带你飞]专题一 简单搜索 L HDU 1241
2016-09-19 21:48
351 查看
题目地址:https://vjudge.net/contest/65959#problem/L
思路:判断有多少个联通快。
AC代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
using namespace std;
const int maxn=100+10;
char g[maxn][maxn];
bool vis[maxn][maxn];
int m,n;
int xx[8]={-1,-1,-1,0,0,1,1,1};
int yy[8]={-1,0,1,-1,1,-1,0,1};
void dfs(int x,int y)
{
vis[x][y]=true;
for(int i=0;i<8;i++)
for(int j=0;j<8;j++)
{
int ii=x+xx[i],jj=y+yy[i];
if(ii<0 || ii>=m ||jj<0||jj>=n)
continue;
if(!vis[ii][jj] && g[ii][jj]=='@')
dfs(ii,jj);
}
return;
}
int main()
{
while(scanf("%d%d",&m,&n) && (n || m))
{
for(int i=0;i<m;i++)
scanf("%s",g[i]);
memset(vis,false,sizeof(vis));
int ans=0;
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
if(!vis[i][j] && g[i][j]=='@')
{
dfs(i,j);
ans++;
}
}
printf("%d\n",ans);
}
}
思路:判断有多少个联通快。
AC代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
using namespace std;
const int maxn=100+10;
char g[maxn][maxn];
bool vis[maxn][maxn];
int m,n;
int xx[8]={-1,-1,-1,0,0,1,1,1};
int yy[8]={-1,0,1,-1,1,-1,0,1};
void dfs(int x,int y)
{
vis[x][y]=true;
for(int i=0;i<8;i++)
for(int j=0;j<8;j++)
{
int ii=x+xx[i],jj=y+yy[i];
if(ii<0 || ii>=m ||jj<0||jj>=n)
continue;
if(!vis[ii][jj] && g[ii][jj]=='@')
dfs(ii,jj);
}
return;
}
int main()
{
while(scanf("%d%d",&m,&n) && (n || m))
{
for(int i=0;i<m;i++)
scanf("%s",g[i]);
memset(vis,false,sizeof(vis));
int ans=0;
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
if(!vis[i][j] && g[i][j]=='@')
{
dfs(i,j);
ans++;
}
}
printf("%d\n",ans);
}
}
相关文章推荐
- [kuangbin带你飞]专题一 简单搜索L - Oil Deposits(HDU 1241)
- [kuangbin带你飞]专题1 简单搜索 L - Oil Deposits HDU - 1241
- [kuangbin带你飞]专题一 简单搜索I - Fire Game(FZU 2150)
- Fire Game [kuangbin带你飞]专题一 简单搜索
- [kuangbin带你飞]专题一 简单搜索 - C - Catch That Cow
- [kuangbin带你飞]专题一 简单搜索 - F - Prime Path
- [kuangbin带你飞]专题一 简单搜索 - D - Fliptile
- [kuangbin带你飞]专题一 简单搜索 - N - Find a way
- [kuangbin带你飞]专题一 简单搜索C - Catch That Cow(POJ 3278)
- [kuangbin带你飞]专题一 简单搜索 - A - 棋盘问题
- [kuangbin带你飞]专题一 简单搜索E - Find The Multiple(POJ 1426)
- POJ 3279 Fliptile(kuangbin带你飞 专题一:简单搜索)
- HDU 1241 Oil Deposits(kuangbin带你飞 专题一:基础搜索)
- [kuangbin带你飞]专题一 简单搜索 B - Dungeon Master(POJ 2251)
- [kuangbin带你飞]专题一 简单搜索 - B - Dungeon Master
- FZU 2150 Fire Game(kuangbin带你飞 专题一:简单搜索)
- [kuangbin带你飞]专题1——简单搜索——母牛翻转问题
- 【 题集 】 【kuangbin带你飞】专题一 简单搜索 更新 ing ......
- [kuangbin带你飞]专题一 简单搜索 - E - Find The Multiple
- [kuangbin带你飞]专题一 简单搜索H - Pots(POJ 3414)