P1123(DFS+回溯算法)

本文详细探讨了如何使用DFS(深度优先搜索)配合回溯算法解决P1123问题。通过实例解析,深入理解这两种算法的结合在解决复杂问题时的关键步骤和逻辑。
摘要由CSDN通过智能技术生成
import java.util.Scanner;

/**
 * P1123取数求和
 * DFS+回溯
 * 解决问题:求最优解,需要遍历每一种可能,然后排除不合理的情况。
 * 实质是递归。
 */
public class P1123 {
	static int T,n,m,ans;
	static int[][] map;
	static int[][] dir = {
  {-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};//八个方向
	static boolean[][] use;
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		T = sc.nextInt();
		for(int test_case = 1;test_case<=T;test_case++) {
			n = sc.nextInt();
			m = sc.nextInt();
			ans = 0;
			map = new int[n+1][m+1];
			use = new boolean[n+3][m+3];
			for(int i=1;i<=n;i++) {
				for(int j=1;j<=m;j++) {
					map[i][j] = sc.nextInt();
				}
			}
			
			dfs(1,1,0);
			System.out.println("#"+test_case+" "+ans);
		}
	}
	
	public static void dfs(int x,int y,int z) {
		if(x>n) {
			ans = Math.m
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值