一、题目
有一个人站在电影院门口卖票,票价50,一开始手上没有找零的钱,现在有两种人来买票,A拿着100元的钱,人数为m(m<20),B拿着50元的钱,人数为n(n<20)。卖票的人必须用从B类人中那里得来钱找给A,所以卖票的顺序是有限制的。
要求写一个程序打印出所有的买票序列:
例如:m =2 ,n = 3;
BABAB
BBAAB
BBBAA
BBABA
二、解法→递归法
1、思想
金句:涉及“状态转换和记录”的都可以用递归的方法求解
模拟
所有人买票的全过程,
变量假设
假设拿着100元钱的人A的人数有m
人,拿着50元钱的B的人数有n
人,
某一时刻已经买票的A有a
人,B有b
人
子问题
如果进来的一个人是A,需要判断条件 ①a<m且②a<b
如果进来的一个人是B,需要判断条件 b<n
终止条件
所有的人都已经买票完毕,即有a+b==m+n
1. #include <stdio.h>
2. char str[500];
3. int n, m;
4. void oper(int a, int b,int m, int n)
5. {
6. if (a + b == m + n)
7. printf("%s/n", str);
8. else {
9. if (a < m && a < b) {
10. str[a + b] = 'A';
11. oper(a + 1, b, m, n);
12. }
13. if (b < n) {
14. str[a + b] = 'B';
15. oper(a, b + 1, m, n);
16. }
17. }
18. }
19. int main()
20. {
21. while (scanf("%d%d", &m, &n) == 2)
22. {
23. if (n < 0 || m < 0 || m > n)
24. printf("No result!/n");
25. else {
26. str[m + n] = 0;
27. oper(0, 0, m, n);
28. }
29. }
30. return 0;
31. }
分享到:
相关推荐
在构建一个影院售票系统时,电影票打印是一个关键环节,尤其在采用爱普生TM-86L打印机这样的专业设备时。爱普生TM-86L是一款支持ESC/POS指令集的打印机,广泛应用于零售、餐饮以及娱乐行业,包括电影院的电影票打印...
电影票在线售票系统是一种基于互联网技术的现代购票方式,它结合了软件工程、数据库管理、Web开发等多个IT领域的知识。本系统通常采用流行的SSM(Spring、SpringMVC、MyBatis)框架来构建,这使得系统具有良好的可...
电影票在线购买网站模板是基于HTML5技术设计的一款专为电子商务平台打造的网页模板,它旨在为用户提供便捷、直观的在线购票体验。HTML5作为现代网页开发的标准,提供了丰富的功能和增强的用户体验,使得该模板在视觉...
《C#网上电影票订票系统 + access数据库》是一个基于C#编程语言开发的实用型应用程序,主要用于实现在线电影票的预订服务。该系统利用access数据库来存储和管理相关的票务信息,为用户提供便捷的购票体验。下面将...
该压缩包文件“微信小程序电影票订票小程序软件源码数据库.zip”主要包含了一个毕业设计项目,该项目专注于开发微信小程序,用于实现电影票的在线预订功能。以下将详细阐述涉及的知识点: 1. **微信小程序**:微信...
《C#+SQL电影票销售系统》是一个综合性的应用程序,它结合了C#编程语言和SQL Server 2005数据库技术,旨在实现电影票的在线销售、查询以及用户和订单的管理。在这个系统中,C#主要负责前端的用户交互和业务逻辑处理...
【PHP电影票订购系统】是一个基于PHP编程语言开发的应用,用于实现在线电影票的预订功能。这个系统可能包括用户注册、登录、选择电影、选择座位、支付以及订单管理等多个核心模块,为用户提供方便快捷的购票体验。...
电影票购票管理系统是一款基于软件开发技术构建的应用程序,主要用于便捷地进行电影票的购买和管理。这个系统的源码提供了一次深入理解Web应用程序开发过程的机会,特别是针对在线交易和服务预订的场景。以下将从几...
因此,《基于微信小程序的电影票订票系统》旨在利用最新的信息技术手段解决传统电影票购买过程中的痛点,如排队时间长、操作繁琐等问题,为用户提供一个方便快捷的电影票预订平台。 #### 技术架构与选型 本项目...
电影票购票管理系统是一款用于在线购买电影票的软件系统,它集成了用户管理、影片信息管理、场次安排、座位选择、支付处理等多个功能模块,旨在为用户提供便捷的购票体验。这款最新的电影票购票管理系统不仅提供了...
《基于Android的电影票购票App开发详解》 在信息技术飞速发展的今天,移动应用已经渗透到我们生活的方方面面,其中,电影票购票App作为娱乐生活的重要组成部分,为用户提供了一种便捷的购票方式。本文将深入探讨一...
在线电影票预订系统是一个结合了信息技术和传统电影票务的产物,它能有效地解决电影院在票务管理中遇到的诸多问题,同时也满足了消费者对快速、便捷服务的需求。本文将从技术实现和系统设计两个方面对电影票在线预订...
在Android开发中,自定义View是一个强大的工具,可以实现各种复杂的界面效果,例如电影票在线选座功能。本篇文章将详细介绍如何利用自定义View实现这一功能,主要涉及的技术点包括矩阵Matrix、手势检测...
《jQuery手机端电影票选座代码详解》 在当今移动互联网时代,电影票选座功能已经成为各大在线购票平台不可或缺的一部分。对于开发者来说,利用jQuery构建一个高效、用户体验良好的手机端电影票选座系统是一项挑战。...
电影票购票管理系统是一款用于在线购买电影票的软件应用,它结合了视频教程和源代码,为学习者提供了全面的理解和实践机会。系统的核心功能包括用户管理、电影信息管理、场次安排、座位选择、订单处理以及支付接口...
电影票售票系统是一种基于信息技术的综合管理平台,用于处理与电影票销售相关的各种业务流程。这个系统涵盖了购票、退票、选座、预订、支付等多个环节,为电影院提供了一站式的解决方案。以下将详细介绍该系统可能...
该系统旨在解决电影票订票过程中的问题,如排队难、买票难等,并提高电影爱好者的娱乐体验。 首先,本文档介绍了信息技术在改变我们的生活方式方面的重要性。随着生活水平的提高,我们越来越关注我们的娱乐生活。...
"类似网购电影票的GridView选择器"通常是指一个自定义的GridView,用于模拟在线购买电影票时用户选择座位的过程。这种选择器通常具有交互性强、视觉效果良好的特点,能够帮助用户直观地看到座位布局并进行选择。 ...
### 电影票订票系统关键技术知识点 #### 一、系统背景与需求分析 **系统背景:** 随着现代生活节奏的加快以及人们对娱乐品质要求的提升,电影已成为大众休闲娱乐的重要方式之一。传统的手工售票方式效率低下且易...