“李白街上走,提壺去買酒,遇店加一倍,見花喝一斗”,途中,遇見5次店,見了10此花,壺中原有2斗酒,最后剛好喝完酒,要求最后遇見的是花,求可能的情況有多少種?

分析:題目要求最后是遇見花也就是說最后是喝酒(最好剛好把酒完),出去這種確定的情況,最后剩下的情況是:還有一斗酒,前面遇到了5次店和九次花(打了5次酒,喝了九次酒)。

然后每次情況只有兩種分別是遇見花喝酒和遇到店打酒。

//dfs(num-1,mum,s*2)+dfs(num,mum-1,s-1);

遇到店的時候打酒(s*2),然后酒的斗數會翻倍;遇到花時喝酒,然后酒的斗數減一(s-1);

然后設置遞歸的出口:

當酒喝完還遇見花時,則return 0;以為酒不能是負的;

當5個店已經都遇見過時,則return 0;

當9個花已經都遇見過時,則return 0;

當花剛好遇見完,店剛好遇見完,酒還有一斗時:return 1;

當中間過程,酒喝完了,但是遇見店了,又因為此時s=0,遇到店的時候打酒(s*2),所以要把s設置成0.5;

#include

int dfs(int num,int mum,int s){

if(s<0 || num<0 || mum<0)

return 0;

if(num<0 || mum<0)

return 0;

if(num==0 && mum==0&& s==1)

return 1;

if(s==0 && num>0 && mum>=0)

s=0.5;

return dfs(num-1,mum,s*2)+dfs(num,mum-1,s-1);

}

int main()

{

printf("%d",dfs(5,9,2));

return 0;

}

c语言李白喝酒答案,趣題C解(1)--李白喝酒問題相关推荐

  1. 4.3.用python解決經典問題:生日悖論, birthday paradox

    1.問題描述及思路 生日悖論是指 在一羣人中, 出現兩个人(或多个人)的生日在同一天的概率遠比直覺判斷的大得多. 因此也可以解釋爲啥每个班都有人會在同一天過生的現象. 其實從數學上求解這个問題更簡單, ...

  2. 解決 Tomcat 5.0.x % include file ... % 的中文亂碼問題

    解決 <%@ include file="/global/topright.html" %> 的中文亂碼問題 要解決這個問題,當然最簡單的就是在每個被 include ...

  3. BT觀念分享和常見問題彙整

    一. TCP/IP基本觀念 1. IP : 每台在TCP/IP網路上的電腦必須具備的一個代表號或一個地址.IP又分為private IP(192.168.x.x /10.x.x.x /172.16.x ...

  4. HTML 資訊汲取(中篇) - Default namespace 問題

    在上一篇文章『HTML 資訊汲取(上篇) - 使用 JDOM . TagSoup 及 XPath』裡,我提到了如何利用 JDOM 搭配 TagSoup,並使用 XPath 簡單地汲取資訊.其實,在上一 ...

  5. 小米kali linux蓝牙,小米筆記本在Kali Linux下所遇問題部分解決方案(持續更新中)...

    0.本人不才,在小米筆記本安裝Kali Linux所遇到的問題用了兩天摸索才得以解決_(:3 」∠)_ ,kali被我裝了5次,win10的引導被我誤刪了兩次(*/ω\*). 在摸索的過程中發現關於小 ...

  6. java menuitem 乱码_MenuItem 顯示中文亂碼問題解決方案

    今天在使用Java做系統托盤圖標(TrayIcon),需要為其增加一個右鍵彈出菜單(PopupMenu),在使用菜單項(MenuItem)時,遇到了一個非常痛苦的事情:中文亂碼----.這個問題不經常 ...

  7. 分享到 Line 會遇到的問題整理

    一.為何 Line 無法顯示縮圖? 1. 以前的 Line 根據我的使用經驗,以前 Line 為了節省伺服器運作成本,應該是直接用 FB 的 API 來抓縮圖資料.因為以前分享到 FB 會產生的縮圖, ...

  8. mysql设置字符集gb2312_MySQL字符集 GBK、GB2312、UTF8區別 解決 MYSQL中文亂碼問題

    MySQL中涉及的幾個字符集 character-set-server/default-character-set:服務器字符集,默認情況下所采用的. character-set-database:數 ...

  9. mysql least null_MySQL LEAST()函數不返回結果的問題

    我最近在我的查詢中使用了最少的(tb1,tb2,tb3)AS名稱來獲取跨多列的最小值,並檢查它們是否不等於默認值的0.00MySQL LEAST()函數不返回結果的問題 到目前爲止,它工作正常,併爲我 ...

最新文章

  1. java个人学习笔记:javaBean
  2. three.js学习资料整理
  3. 真香!GitHub刚刚宣布:私有库免费啦!
  4. 集群、负载均衡、分布式
  5. .NET 5.0预览版6发布:支持Windows ARM64设备
  6. PHP页面显示中文字符出现乱码
  7. java验证码 memcache_java连接开启了sasl的memcache服务
  8. 图书馆管理系统——还书和延期操作
  9. SpringSecurity常用登录认证方案
  10. Sql server 行列转换
  11. JS基础知识思维导图
  12. Java工程师需要学习云原生吗?
  13. python父亲节祝福_关于父亲节走心文案 父亲节文案朋友圈
  14. PDF如何裁剪页面,PDF裁剪页面的小技巧
  15. VMware教程:设置 CentOS 7 共享文件夹
  16. Servlet的执行原理
  17. C程序----韩信点兵
  18. 还在为PS抠图头疼?试试PPT这个功能,一学就会!
  19. CorelDRAW中的双色图样填充该怎么使用
  20. sketchbook手机版_SketchBookpro

热门文章

  1. 如何在Centos8系统打开openVPN服务?
  2. 《惢客创业日记》2021.05.19(周三)如果你是司机,该怎么办?
  3. 表驱动法(Table-Driven Methods)
  4. 有了这款工具,自动化识别验证码再也不是问题
  5. 常见的pdf合并分割器好用吗
  6. 思科MDS9148光交激活端口
  7. Word设置段落底纹(段落背景)快捷键
  8. python表单验证_Python——flask_wtf验证form表单
  9. 全国计算机等级证书样本
  10. 微信小程序开发之——调查问卷-编写表单页面(2.2.2)