图书馆里有没有某本书,现有6人排队,有3个人来借此书,3个人来还此书,且若到某人借书时,若无书,则立即离开,多少种排队方法能借到书?
来源:互联网 发布:mpiigaze数据集 编辑:程序博客网 时间:2024/05/17 06:14
#include<stdio.h>#include<stdlib.h>#define SUM 6int state[SUM];//1代表还书 -1代表借书//void book(int book_lend,int book_return,int num,int count){ //算法结束的条件是:借书的人都借到了,即book_lend==0 if (book_lend == 0) { for (int i = 0; i < SUM; i++) { printf("%d * ",state[i]); } printf("\n"); printf("\b\b\b\b "); } //还书的人都还完了,并且还有书的时候,只能借书 if (book_return == 0 && count>0) { state[num] = -1; book(book_lend - 1, book_return, num + 1, count-1); } //可借的条件是图书馆有书,可还的条件是有的人没有还 if (count>0&&book_return>0) { state[num] = -1; book(book_lend - 1, book_return, num + 1, count-1); state[num] = 1; book(book_lend, book_return - 1, num + 1, count+1); } //图书馆的书的总数为0,并且有人没还书,只能还书 if (book_return > 0&&count==0) { state[num] = 1; book(book_lend, book_return - 1, num + 1, 1+count); }}int main(void){ book(3,3,0,0); return 0;}
阅读全文
0 0
- 图书馆里有没有某本书,现有6人排队,有3个人来借此书,3个人来还此书,且若到某人借书时,若无书,则立即离开,多少种排队方法能借到书?
- 有n个人到图书馆还书,还有n个人到图书馆借书,若他们要还和借的书是同一种书且图书馆内现在没有此书,求他们要怎么排队才能保证每个人都能借到书
- poj 2828 Buy Tickets(有N个人排队,每一个人都有一个val来对应,每一个后来人都会插入当前队伍的某一个位置pos。)
- 有5个人ABCDE排队,排好后他们决定重新排队,每个人都不在原来的位置上,那么总共有多少种排法
- 12个人排队问题
- 个人小项目:现有12个小球和一个天平,小球中有一个重量与其它的不同,称重几次能将这个小球找出来
- 有没有一种来士大夫
- 苹果6来了,都排队去抢!
- 组合数 从4个人中选2个人参加活动,一共有6种选法。 从n个人中选m个人参加活动,一共有多少种选法?
- 组合数 从4个人中选2个人参加活动,一共有6种选法。 从n个人中选m个人参加活动,一共有多少种选法?
- 有多少面试可以重来
- 嘿嘿,今天突然想起了,我还忘记了有个CSDN的博客没有来
- 有没有这样的一本书
- 1.有3个人去投宿,
- 1.有3个人去投宿,
- 我们也许是一种人,总想着去适应另一个人,却从未奢求过会有另一个人想要来适应自己
- 生活不是拍电影,不会在关键时刻有个人来救你。
- java webSocket 开发,个人心得,有什么改进的地方可以提出来
- 【spring boot】异步请求
- Oracle索引原理
- jquery中attr()和prop()的区别
- log4j的出力等级
- centos7 安装MySQLdb模块出现 EnvironmentError: mysql_config not found
- 图书馆里有没有某本书,现有6人排队,有3个人来借此书,3个人来还此书,且若到某人借书时,若无书,则立即离开,多少种排队方法能借到书?
- grep搜索子目录中包含某字符串的特定文件
- 第1章 入门提示
- AndroidStudio创建gitignore忽略已经track的文件
- PAT a1039题解
- MySQL批量插入遇上唯一索引避免方法
- 冒泡排序算法的改进
- 线段树练习
- Double类parseDouble和valueOf方法的区别