为什么不对

#include<cstdio>
#include<cstring>
using namespace std;
int ans,n;
char g[11000][11000];
void dfs(int x,int y,int a,int b)
{
if(y==n&&b==n)return ;
int k=0;
for(int i=x;i<=y;i++)
{
for(int j=a;j<=b;j++)
{
if(g[i][j]=='#')
{
k++;
}
}
}
if(k>ans)ans=k;
if(y==n)
{
dfs(x,y,a+1,b+1);
}
else if(b==n)
{
dfs(x+1,y+1,a,b);
}
else
{
dfs(x+1,y+1,a,b);
dfs(x,y,a+1,b+1);
}
}
int main()
{
int m;
scanf("%d %d\n",&n,&m);
if(m==0)
{
printf("0\n");
return 0;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
scanf("%c",&g[i][j]);
}
}
ans=0;
dfs(1,m,1,m);
printf("%d\n",ans);
return 0;
}

1 条评论

  • 1

信息

ID
1199
难度
4
分类
搜索 | 搜索与剪枝 点击显示
标签
递交数
2727
已通过
1239
通过率
45%
被复制
7
上传者