华为机试3_30,第二题爆搜,100%

public class hw3_302 {
	public static int minlen=Integer.MAX_VALUE;
	public static int [][]map;
	public static int [][]pool;
	public static int num_path=0;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan=new Scanner(System.in);
		int hang=scan.nextInt();
		int lie=scan.nextInt();
		map=new int [hang][lie];
		int startx=scan.nextInt();
		int starty=scan.nextInt();
		int endx=scan.nextInt();
		int endy=scan.nextInt();
		int num=scan.nextInt();
		int [][]pool=new int [num][2];
		for(int i=0;i<hang;i++) {
			for(int j=0;j<lie;j++) {
				map[i][j]=0;
			}
		}
		for(int i=0;i<num;i++) {
		pool[i][0]=scan.nextInt();
		pool[i][1]=scan.nextInt();
		map[pool[i][0]][pool[i][1]]=-1;   //有湖标记为-1;
		}
	
		
		dfs(0,startx,starty,endx,endy);
		System.out.println(num_path+" "+minlen);
	}
		

	//剪枝还没剪就结束了
	public static void dfs(int cur_len,int startx,int starty,
			int endx,int endy) {
		if(startx<0||startx>map.length-1||starty<0||starty>map[0].length-1
				||map[startx][starty]!=0)
			return; //越界或者走过了或者为湖则返回
		if(startx==endx&&starty==endy) {
			if(cur_len<minlen) {
				num_path=1;
				minlen=cur_len;
			}
			else if(cur_len==minlen) {
				num_path++;
			}
			return;   //走到终点了
		}
		else {
			map[startx][starty]=1;
			dfs(cur_len+1,startx+1,starty,endx,endy);
			dfs(cur_len+1,startx-1,starty,endx,endy);
			dfs(cur_len+1,startx,starty+1,endx,endy);
			dfs(cur_len+1,startx,starty-1,endx,endy);
			map[startx][starty]=0;
		}
	}
	

}

#华为#
全部评论
学习了
2 回复 分享
发布于 2022-03-30 21:39
请问没有点右上角蓝色的“交卷”按钮,结束后应该会自动帮忙交卷吧?每道题只点了右下角蓝色的“提交代码”的按钮。看到之前有人说考完后成绩为0,有点害怕。。。
1 回复 分享
发布于 2022-03-30 22:38
想看看大佬第一题的代码
点赞 回复 分享
发布于 2022-03-30 21:45
这题和岛屿问题差不太多
点赞 回复 分享
发布于 2022-03-30 21:53
大佬,想看下第一题的代码,题目读了好久
点赞 回复 分享
发布于 2022-03-30 22:12
唯一做出来的一题。。。😅
点赞 回复 分享
发布于 2022-03-30 22:30
第一题做出来85%,不知道为啥过不了。。。
点赞 回复 分享
发布于 2022-03-31 05:45
第三题求个答案啊
点赞 回复 分享
发布于 2022-03-31 11:43
为啥是剪枝还没剪就结束了也?
点赞 回复 分享
发布于 2022-04-01 13:17
出结果了没,我怎么还没收到通知
点赞 回复 分享
发布于 2022-04-01 13:29
楼主,请问最后一行的map[startx][starty]=0是有什么作用鸭?
点赞 回复 分享
发布于 2022-04-02 11:02

相关推荐

11-26 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
牛客895077908号:佬 什么双非硕啊
点赞 评论 收藏
分享
11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
安静的垂耳兔在泡澡:ks已经第八次投递了,它起码挂了还让你再投,不错了
点赞 评论 收藏
分享
评论
9
29
分享
牛客网
牛客企业服务