DFS枚举

这篇博客介绍了一个使用DFS深度优先搜索进行矩阵枚举的算法,解决了一个矩阵中每个元素大于等于其左边和上边元素的问题。通过递归搜索,确定矩阵中每个位置可以放置的值(0, 1, 2),并统计所有可能的情况。代码展示了一个7x7矩阵的解决方案,并给出了主函数的实现,用于读取输入并输出答案。" 138457835,11382130,Dubbo分布式框架详解与面试指导:Zookeeper注册中心实践,"['分布式', '面试', 'Java开发', 'Zookeeper', '框架']
摘要由CSDN通过智能技术生成

DFS 枚举打表  小Z的矩阵

题意:一个矩阵 的每个数都大于或等于他的左边或者上边 问有多少种情况。输入n为矩阵的行m为矩阵的列。

思路:因为该矩阵最大为7*7所以直接打表枚举把每种行和列的情况都求出来,输入直接输出就行,用dfs:

对于位置x,y,我们判断这个位置放0,1,2的可能性

如果A[x-1,y] <= i && A[x,y-1]<=i (i=0,1,2)那么x,y位置就可以放i

之后赋值,继续搜索下一层(nex_x,new_y)的状态

当(x,y)不是每行最后一个数的时候,(nex_x,new_y) = (x,y+1)

否则 (nex_x,new_y) = (x+1,y);(一行一行的来赋值判断);

代码:

#include<stdio.h>

int a[10][10];
int aa[10][10];
int n,m;
int ans;
void dfs(int x,int y){
    if(x > n){
        ans ++;
        return;
    }
    if(a[x - 1][y] <= 0 &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值