求助一个关于搜索的问题
  • 板块学术版
  • 楼主bloodstalk
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/4/7 18:46
  • 上次更新2023/10/28 04:21:51
查看原帖
求助一个关于搜索的问题
231543
bloodstalk楼主2022/4/7 18:46
#include<bits/stdc++.h>
using namespace std;

char mapp[25][25];
int pd[25][25];
bool letter[26];
int hang,lie,xx,yy,step,maxx=-1;
int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1};

void killerqueen(int x,int y,int step)
{
	if(maxx<step) maxx=step;
	for(int i=0;i<4;i++)
	{
		xx=x+dx[i];
		yy=y+dy[i];
		if(pd[xx][yy]==0 && xx>=0 && xx<hang && yy>=0 && yy<lie && letter[mapp[xx][yy]-'A']==0)
		{
			pd[xx][yy]=1;
			letter[mapp[xx][yy]-'A']=1;
			killerqueen(xx,yy,step+1);
			pd[xx][yy]=0;
			letter[mapp[xx][yy]-'A']=0;
		}
	}
}

int main()
{
	cin>>hang>>lie;
	for(int i=0;i<hang;i++)
		for(int j=0;j<lie;j++)
		cin>>mapp[i][j];
	pd[0][0]=1;
	letter[mapp[0][0]-'A']=1;
	killerqueen(0,0,1);
	cout<<maxx;
}

为什么这里xx,yy定义到函数外面就会只得10pts 题目来自这里

2022/4/7 18:46
加载中...