那个我的提交记录有几遍有问题,提交错位置了
by ___I_AK_IOI @ 2018-09-13 22:05:04
[传送门](https://www.luogu.org/record/show?rid=10728708)
by ___I_AK_IOI @ 2018-09-13 22:06:01
@[白哥小葱](/space/show?uid=54520) 我没过这道题,你把代码给我们看看啊~
by wxy_god @ 2018-09-13 22:08:49
@[我是一个垃圾](/space/show?uid=89396) 点一下传送门就好啦
by ___I_AK_IOI @ 2018-09-13 22:09:54
@[白哥小葱](/space/show?uid=54520) 我说,我没到60分,我是看不见你的代码的,能不能把代码贴出来
by wxy_god @ 2018-09-13 22:11:25
哦
by ___I_AK_IOI @ 2018-09-13 22:11:46
// luogu-judger-enable-o2
// luogu-judger-enable-o2
// luogu-judger-enable-o2
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int dx[12]={-2,2,-1,1,0,0,0,0,1,1,-1,-1};
int dy[12]={0,0,0,0,-1,1,-2,2,1,-1,-1,1};
int n,m;
char emmm[900][900];
int a[900][900];
int dfs(int x,int y)
{
int i;
for(i=0;i<12;i++)
{
int u=x+dx[i];
int v=y+dy[i];
if(a[u][v]==0&&u>=1&&v<=n&&u>=1&&v<=m)
{
a[u][v]=1;
dfs(u,v);
}
}
return 0;
}
int main()
{
cin>>n>>m;
int i,j;
memset(emmm,0,sizeof(emmm));
for(i=0;i<=n+1;i++)
for(j=0;j<=m+1;j++)
a[i][j]=1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cin>>emmm[i][j];
if(emmm[i][j]=='#')a[i][j]=0;
}
int sum;
sum=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(a[i][j]==0){
a[i][j]=1;
dfs(i,j);
sum++;
}
}
cout<<sum;
return 0;
}
by ___I_AK_IOI @ 2018-09-13 22:12:05
```cpp
// luogu-judger-enable-o2
// luogu-judger-enable-o2
// luogu-judger-enable-o2
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int dx[12]={-2,2,-1,1,0,0,0,0,1,1,-1,-1};
int dy[12]={0,0,0,0,-1,1,-2,2,1,-1,-1,1};
int n,m;
char emmm[900][900];
int a[900][900];
int dfs(int x,int y)
{
int i;
for(i=0;i<12;i++)
{
int u=x+dx[i];
int v=y+dy[i];
if(a[u][v]==0&&u>=1&&v<=n&&u>=1&&v<=m)
{
a[u][v]=1;
dfs(u,v);
}
}
return 0;
}
int main()
{
cin>>n>>m;
int i,j;
memset(emmm,0,sizeof(emmm));
for(i=0;i<=n+1;i++)
for(j=0;j<=m+1;j++)
a[i][j]=1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cin>>emmm[i][j];
if(emmm[i][j]=='#')a[i][j]=0;
}
int sum;
sum=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(a[i][j]==0){
a[i][j]=1;
dfs(i,j);
sum++;
}
}
cout<<sum;
return 0;
}
```
by ___I_AK_IOI @ 2018-09-13 22:12:19
可以用bfs的
by Doubleen @ 2018-09-13 22:22:55
@[白哥小葱](/space/show?uid=54520)
我长这么大,还没有见过dfs能够产生双色结果。
一般要么全WA,要么全RE
你的代码有一个AC,说明是爆栈
by origin_star @ 2018-09-13 22:34:29