网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月11日
漏签
0
天
半条命16吧
关注:
392
贴子:
26,032
看贴
图片
吧主推荐
视频
玩乐
5
回复贴,共
1
页
<返回半条命16吧
>0< 加载中...
AcWing93
只看楼主
收藏
回复
Velikaya
曲面积分
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
送TA礼物
IP属地:内蒙古
1楼
2022-01-14 19:26
回复
Velikaya
曲面积分
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这是树,我们要注意的两点是,输出的这一串数中的元素的值是递增的。而且有些数字因为凑不够位数,在某些情况下是不能选的。
我们还是可以通过dfs的方式来遍历这棵树,但其中包含的参数还需要我们确定。
定义参数,可以通过定义全局变量的方法,或者是定义到函数里的形参。
需要的参数:三个数的位置,int [] place, 当前该枚举的位置int k,当前最小可以从哪里枚举,int start
IP属地:内蒙古
2楼
2022-01-14 21:01
回复
收起回复
2025-06-11 11:59:32
广告
Velikaya
曲面积分
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
private static int n,m;
private static int[] place=new int[30];
关于dfs函数,因为place已经定义成全局变量,那么dfs就只用加两个参数就行了
private static void dfs(int k,int start){
//dfs内部还是分两部分来写,一是输出符合要求的案例,二是搜索,我们先看输出样例。
//当k>m的时候,就会产生一个符合要求的结果
if(k==m+1){
for(int i=1;i<=n;i++)
sout(place[i]+" ");
sout();
return;
}
IP属地:内蒙古
3楼
2022-01-14 21:29
回复
收起回复
Velikaya
曲面积分
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后我们开始写搜索部分
从start开始搜索,直到n
for(int i=start;i<=n;i++){
place[k]=i;//将枚举的数字放到place里去,然后下面继续搜索子树
dfs(k+1,i+1);//继续搜索
place[k]=0;//还原现场
}
IP属地:内蒙古
4楼
2022-01-14 21:38
回复
收起回复
Velikaya
曲面积分
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
if(k+n-start<m) return;
当要枚举的数不足时,直接退出
此时正在选第k个数,但加上(n-start)(备选的数的数量)仍然小于要求的数
IP属地:内蒙古
5楼
2022-01-14 21:42
回复(1)
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
WOL零封TH获世界赛首胜
2739750
2
利物浦1.5亿欧签下维尔茨值得吗
2138837
3
Uzi名人堂通行证故事有多水
1918028
4
一帮老国足指望上了18岁的王钰栋
1583010
5
塑料茅台labubu凭什么造就首富
1371344
6
洛杉矶和当年的911对比哪个更乱
1016575
7
国GAL主创发炮轰贴吧书
971808
8
华为Pura80系列今日发布
964413
9
洛杉矶乱成一锅粥
834944
10
国足1比0点杀巴林
760620
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示