关注
第三题: #include <iostream>
#include <string>
#include <vector>
using namespace std;
void dfs(vector<int> & flags,int start,vector<string> & ans,string tmp) {
if (start == flags.size()) {
ans.push_back(tmp);
return;
}
dfs(flags,start+1,ans,tmp+to_string(start));
if(flags[start] == 0)
dfs(flags, start + 1, ans, tmp);
}
int main(void) {
int tmp;
while(cin>>tmp) {
vector<int> flags;
vector<string> ans;
flags.push_back(tmp);
for (int i = 1; i < 10;++i) {
cin >> tmp;
flags.push_back(tmp);
}
dfs(flags, 0, ans, "");
sort(ans.begin(),ans.end());
for (auto x : ans)
cout << x << endl;
}
}
使用了backtrace,注意解空间是类似于二叉树,当然也可以使用数组的解空间,但是比较繁琐。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
转发
点赞 评论 收藏
转发
投递文远知行等公司10个岗位
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
352442次浏览 7290人参与
# 你更愿意参加线上面试还是线下面试? #
4733次浏览 73人参与
# 晒一晒我的offer #
2766877次浏览 49498人参与
# 如何确定求职岗位 #
100983次浏览 2395人参与
# 华为求职进展汇总 #
433610次浏览 4353人参与
# 机械人怎么评价今年的华为 #
49362次浏览 404人参与
# 非技术岗薪资爆料 #
5050次浏览 116人参与
# 第一次面试 #
13857次浏览 212人参与
# 如果再来一次,你还会学硬件吗 #
16797次浏览 332人参与
# 海信求职进展汇总 #
6789次浏览 91人参与
# 通信硬件薪资爆料 #
137372次浏览 977人参与
# 来聊聊机械薪资天花板是哪家 #
18329次浏览 140人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
22084次浏览 212人参与
# 除了offer,现在你还缺点啥? #
2049次浏览 45人参与
# 应届生应该先就业还是先择业 #
10731次浏览 103人参与
# 通信硬件人笔面经互助 #
63650次浏览 1415人参与
# 百度工作体验 #
18998次浏览 205人参与
# 讲讲我经历过的年终奖 #
5814次浏览 76人参与
# 租房前辈的忠告 #
19783次浏览 1579人参与
# 软件开发薪资爆料 #
536140次浏览 9214人参与