题意:

给定一个字符串,求分隔方案,把字符串分隔为不重复的数

思路:

因为字符串长度小于100,所以n是2位数。

分隔的时候可以一个一组,也可以两个一组

(可以看成走一维迷宫,从S[0]走到S[n-1],每次可以走一步,或者走两步。)

DFS(int index)//当前下标

剪枝:

(1)可行性剪枝(越界):if(index>=n)return;

(2)重复性剪枝(vis数组):如果已经出现过数字,则没有搜索的必要

(3)最优性剪枝(用全局变量flag):如果已经有一组解,那么没有搜索的必要

做选择:

标记数字

数字加入vector数组

DFS(index+1)//走一步

撤回标记

vector.pop_back();

标记数字

数字加入vector数组

DFS(index+2)//走两步

撤回标记

vector.pop_back();

#include<iostream>
#include<string>
#include<vector>
using namespace std;
bool vis[100];
vector<int>num;
string s;
int n;
bool flag=false;
void dfs(int step){if(flag){return;}if(step>=s.size()){for(int i=0;i<num.size();i++){cout<<num[i]<<" ";}flag=true; return; }   if(!vis[s[step]-'0']){vis[s[step]-'0']=true;num.push_back(s[step]-'0');dfs(step+1);vis[s[step]-'0']=false;num.pop_back();}if((s[step]-'0')!=0&&!vis[(s[step]-'0')*10+s[step+1]-'0']){vis[(s[step]-'0')*10+s[step+1]-'0']=true;num.push_back((s[step]-'0')*10+s[step+1]-'0');dfs(step+2);vis[(s[step]-'0')*10+s[step+1]-'0']=false;num.push_back((s[step]-'0')*10+s[step+1]-'0');}}
int main(){cin>>s;dfs(0);
}

【深度优先搜索】计蒜客:置换的玩笑相关推荐

  1. [计蒜客][搜索枚举]文具店

    题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 深度优先搜索 题目描述 思路 意思就是将字符串分割成k串,累加答案尽可能的小 dfs枚举 AC代码 #include<iostream ...

  2. [计蒜客][dfs]中国象棋

    题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 深度优先搜索 题目描述 样例读入 .#....#S# ..#.#.#.. ..##.#..# ......##. ...T..... ... ...

  3. 无脑博士的试管们java_计蒜客 无脑博士和他的试管们

    标签: 无脑博士有三个容量分别是A,B,C升的试管,A,B,C分别是三个从1到20的整数,最初,A和B试管都是空的,而C试管是装满硫酸铜溶液的.有时,无脑博士把硫酸铜溶液从一个试管倒到另一个试管中,直 ...

  4. C - Digital Path 计蒜客 - 42397 05-29

    C - Digital Path 计蒜客 - 42397 题意: 题意就是给出一个n ∗ m的数字矩阵每个矩阵元素之间只能上下左右走,而且下一个位置必须比当前位置的数字大1,入口和出口必须数边缘元素, ...

  5. 计蒜客题解——T1769:最大岛屿

    题目相关 题目链接 计蒜客,https://nanti.jisuanke.com/t/T1405. 我的OJ,http://47.110.135.197/problem.php?id=5254. 题目 ...

  6. 坑!计蒜客——乳草的侵占

    计蒜客--乳草的侵占(BFS) BFS一直写不会,可能是多加了个队列,写起来不是太容易.不过最近还是稍微入门了BFS,跟DFS差别不太大,还是由三个部分组成--出口.标记.枚举. DFS的主要的思想就 ...

  7. 2020蓝桥杯B 组省赛计蒜客模拟赛(一)题解

    2020蓝桥杯省赛 B 组计蒜客模拟赛(一)目录 试题 A:有趣的数字(结果填空) 试题 B:爬楼梯(结果填空) 试题 C:七巧板(结果填空) 试题 D:苹果(结果填空) 试题 E:方阵(结果填空) ...

  8. 计蒜客2020蓝桥杯大学A组模拟赛题解

    计蒜客2020蓝桥杯大学A组模拟赛题解 蓝桥杯的话,去年拿了C++组的国二.今年报名了新成立的Python组,不知道能不能摸到国一的鱼 模拟赛链接如下: https://www.jisuanke.co ...

  9. 计蒜客 挑战难题 爬楼梯

    计蒜客 挑战难题 爬楼梯 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输 ...

  10. 最短路(遍历边)计蒜客—DD坐地铁

    题目: C 城有 n 个站点, m 条双向地铁,每条地铁有一个 companyicompany_icompanyi​表示它的公司,如果连续乘坐同一家公司的地铁只要花 1元钱就好.DD现在想出门找萨摩耶 ...

最新文章

  1. 在idea中移除子模块Moudle后重新导入
  2. 手动特征工程已经OUT了!自动特征工程才是改进机器学习的方式
  3. numpy的深复制与浅复制的区别_浅谈数据备份与复制对于企业用户的区别
  4. Python零碎知识(11):assert用法
  5. 【已解决】The server time zone value ‘�й���׼ʱ��‘ is unrecognize
  6. 95-10-160-启动-KafkaApis
  7. 深度学习-吴恩达-笔记-3-浅层神经网络
  8. Emacs之hs-minor-mode折叠代码
  9. VS2008 + WDK 配置 及其编译错误
  10. ubuntu网络设置找不到有线连接_win7系统找不到网络打印机如何解决?局域网打印机共享怎么设置?...
  11. mysql数据库证件脱敏_mysql 数据库脱敏
  12. CAN和CANFD的区别总结
  13. 基于M0 MCU的无感FOC航模电机控制
  14. 全场景效能平台猪齿鱼 Agent——helm组件升级
  15. DEBUG指示灯详细说明
  16. AJAX-Cache:一款好用的Ajax缓存插件
  17. (笔记)集成电路作用解释(杂乱无章,等待质变)
  18. Galgames Hgames下载中心,无毒
  19. OSG笔记一:在Win7、VS2010下配置OSG3.4
  20. 梁漱溟:做学问的八层境界

热门文章

  1. 最新搜索引擎网站提交登录入口和收录入口大全
  2. 2015 ACM/ICPC Asia Regional Shenyang Online题解
  3. User-Agent 及其构造
  4. sklearn preprocessing 数据预处理(OneHotEncoder)
  5. 64 位系统 vs2013 配置 OpenCV-3.1.0
  6. 数学家、数学轶事与数学史话
  7. 机器学习实践指南(二)—— 正则化参数
  8. 工具的使用——谷歌浏览器(chrome) (二)
  9. Python技巧——list comprehension 与 functools.reduce
  10. C++基础::一些接口汇总