题目进化了?
  • 板块P2802 回家
  • 楼主_buzhidao_
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/26 18:41
  • 上次更新2023/11/2 11:19:23
查看原帖
题目进化了?
917775
_buzhidao_楼主2023/10/26 18:41

rt,bfs只写出80ots,record

#include<bits/stdc++.h>
using namespace std;
int n,m,s[12][12],minn=1e9,sx,sy;
void dfs(int step,int blood,int x,int y){
	--blood;
	if(step>n*m||s[x][y]==0||blood==0||step>minn) return;
	if(s[x][y]==3){
		minn=min(minn,step);
		return;
	}
	if(s[x][y]==4) blood=6;
	++step;
	dfs(step,blood,x+1,y);
	dfs(step,blood,x-1,y);
	dfs(step,blood,x,y+1);
	dfs(step,blood,x,y-1);
	return;
}
int main(){
	cin>>n>>m;for(int i=1;i<=n;++i) for(int j=1;j<=m;++j){
		cin>>s[i][j];
		if(s[i][j]==2) sx=i,sy=j;
	}
	dfs(0,6,sx,sy);
	cout<<((minn==1e9)?(-1):minn);
	return 0;
}
2023/10/26 18:41
加载中...