题目:

https://www.jisuanke.com/course/2291/182236

思路:

递归解决,从第一本书开始,每本书都有两种选择:

  1. //index是book里面每本书价格的下标,
  2. //money是目前的费用,cnt是计数现在买了几本书

1.买
dfs(index+1,money+book[index],cnt+1);

2.不买

dfs(index+1,money,cnt);//不买index这本书,往下一本书走

不断的递归进行选择,直到得出结果。

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstdlib>
  4. #include<cstring>
  5. #include<queue>
  6. using namespace std;
  7. //计蒜客 买书
  8. int m,n,k;
  9. int book[],vis[];//book存价格
  10. bool ok=false;//有没有解
  11. //index是book里面每本书价格的下标,
  12. //money是目前的费用,cnt是计数现在买了几本书
  13. void dfs(int index,int money,int cnt)
  14. {
  15. if(index>n)
  16. return;
  17. if(money>m||cnt>k)//剪枝
  18. return;
  19.  
  20. if(money==m&&k==cnt)//满足条件
  21. {
  22. ok=true;
  23. return;
  24. }
  25.  
  26. dfs(index+,money,cnt);//不买index这本书,往下一本书走
  27. dfs(index+,money+book[index],cnt+);
  28.  
  29. }
  30.  
  31. int main()
  32. {
  33. while(scanf("%d%d%d",&m,&n,&k)==)
  34. {
  35. for(int i=;i<n;i++)
  36. {
  37. scanf("%d",&book[i]);
  38. }
  39. memset(vis,,sizeof(vis));
  40.  
  41. ok=false;
  42. dfs(,,);
  43.  
  44. if(ok)
  45. printf("Yes\n");
  46. else
  47. printf("No\n");
  48. }
  49. return ;
  50. }

计蒜客 买书 dfs的更多相关文章

  1. 计蒜客 数独(DFS)

    蒜头君今天突然开始还念童年了,想回忆回忆童年.他记得自己小时候,有一个很火的游戏叫做数独.便开始来了一局紧张而又刺激的高阶数独.蒜头君做完发现没有正解,不知道对不对? 不知道聪明的你能否给出一个标准答 ...

  2. 计蒜客的一道题dfs

    这是我无聊时在计蒜客发现的一道题. 题意: 蒜头君有一天闲来无事和小萌一起玩游戏,游戏的内容是这样的:他们不知道从哪里找到了N根不同长度的木棍, 看谁能猜出这些木棍一共能拼出多少个不同的不等边三角形. ...

  3. 计蒜客 等边三角形 dfs

    题目: https://www.jisuanke.com/course/2291/182238 思路: 1.dfs(int a,int b,int c,int index)//a,b,c三条边的边长, ...

  4. 计蒜客 方程的解数 dfs

    题目: https://www.jisuanke.com/course/2291/182237 思路: 来自:https://blog.csdn.net/qq_29980371/article/det ...

  5. 计蒜客 NOIP 提高组模拟竞赛第一试 补记

    计蒜客 NOIP 提高组模拟竞赛第一试 补记 A. 广场车神 题目大意: 一个\(n\times m(n,m\le2000)\)的网格,初始时位于左下角的\((1,1)\)处,终点在右上角的\((n, ...

  6. [计蒜客] 矿石采集【记搜、Tarjan缩点+期望Dp】

    Online Judge:计蒜客信息学3月提高组模拟赛 Label:记搜,TarJan缩点,树状数组,期望Dp 题解 整个题目由毫无关联的两个问题组合成: part1 问题:对于每个询问的起点终点,求 ...

  7. 计蒜客 作弊揭发者(string的应用)

    鉴于我市拥堵的交通状况,市政交管部门经过听证决定在道路两侧安置自动停车收费系统.当车辆驶入车位,系统会通过配有的摄像头拍摄车辆画面,通过识别车牌上的数字.字母序列识别车牌,通过连接车管所车辆信息数据库 ...

  8. 计蒜客模拟赛5 D2T1 成绩统计

    又到了一年一度的新生入学季了,清华和北大的计算机系同学都参加了同一场开学考试(因为两校兄弟情谊深厚嘛,来一场联考还是很正常的). 不幸的是,正当老师要统计大家的成绩时,世界上的所有计算机全部瘫痪了. ...

  9. 计蒜客:Entertainment Box

    Ada, Bertrand and Charles often argue over which TV shows to watch, and to avoid some of their fight ...

随机推荐

  1. 前端面试题整理—Webpack篇

    1.什么是webpack,与grunt和gulp有啥不同 webpack是一个模块打包工具,在webpack里面一切皆模块 通过loader转换文件,通过plugin注入钩子,最后输出有多个模块组合成 ...

  2. mysql MHA扩展haproxy搭建从库只读负载均衡

    [环境介绍] 系统环境:Red Hat Enterprise Linux 7 + 5.7.18 + MHA version 0.57 MHA架构中从库之间的负责均衡可选择mysql_route& ...

  3. JS代码风格自动规整工具Prettier

    问题背景 通常使用 ESLint做代码风格检查检查, 和部分代码质量检查. 但是使用ESLint在入库时候, 会产生很多的代码修正工作, 需要开发者一个一个的修改. 如果很多,并且时间紧迫,甚是尴尬. ...

  4. js循环内0.5s停止

    var time_begin = new Date().getTime(); while(true){ if(new Date().getTime()-time_begin > 500) bre ...

  5. zipline框架--简介

    Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting. Zip ...

  6. C++编译/运行过程中产生的各种文件

    参考:https://blog.csdn.net/weixin_39609623/article/details/82348576 Windows中的obj,lib,dll,exe文件 lib是和dl ...

  7. Linux/Window之定时任务脚本编写

    Windows(Win 10) compmgmt.msc[Win+R] > 任务计划程序 > 任务计划程序库 > 创建基本任务 Linux(Ubuntu) 定时任务种类 实现linu ...

  8. HttpClient的巨坑

    之前做项目的时候,调用api都是使用的HttpWebRequest 最近一个项目改用HttpClient,用了之后,感觉很坑. 1.高并发情况下,造成tcp连接占用的端口无法释放(时间为2MSL,此时 ...

  9. Django unittest 单元测试

    这里就不再介绍单元测试的作用了. 首先单元测试的创建方式有两种,一种是app下面的test文件,另一种是自定义方式创建 方法一.使用test.py文件测试 from django.test impor ...

  10. Jquery笔记和ajax笔记

    Jquery笔记:jQuery是一个JavaScript函数库,专为事件处理设计 1.jQuery的引入 <script text="type/javascript" src ...