求助
  • 板块灌水区
  • 楼主想不好名字
  • 当前回复14
  • 已保存回复14
  • 发布时间2021/3/29 18:43
  • 上次更新2023/11/5 01:23:56
查看原帖
求助
358793
想不好名字楼主2021/3/29 18:43

哪位大佬能给我看看这道题我哪里错了(那道题里面是真的没人了)P3654

#include<iostream>
using namespace std;
char c[101][101];int a[101][101];
int dx[2]={1,0};
int dy[2]={0,1};
int ans,m,n,k;
void dfs(int x,int y,int sum)
{
	if(sum>k)
	{
		ans++;
		return ;
	}
	if(c[x][y]!='.'||x<=0||y<=0||x>n||y>m)
        return ;
	for(int i=0;i<2;++i)
	{
		int xx=x+dx[i];int yy=y+dy[i];
		if(c[x][y]!='.'||x<=0||y<=0||x>n||y>m)
        continue;
		dfs(xx,yy,sum+1);
	}
}
int main()
{
	cin>>n>>m>>k;
	for(int i=1;i<=n;++i)
	for(int j=1;j<=m;++j)
	{
		cin>>c[i][j];
		if(c[i][j]=='#')
		a[i][j]=0;
		else 
		{
			a[i][j]=1;
		}
	}
	for(int i=1;i<=n;++i)
	{
		for(int j=1;j<=m;++j)
		{
			if(a[i][j]!=0)
			dfs(i,j,1);
		}
	}
	if(k==1)
	cout<<ans/2;
	else
	cout<<ans;
	return 0;
}
2021/3/29 18:43
加载中...