转载:http://bbs1.chinaunix.net/thread-1640178-1-1.html
有一个人站在电影院门口卖票,票价50,一开始手上没有找零的钱,
现在有两种人来买票,A拿着100元的钱,人数为m(m<20),B拿着50元的钱,
人数为n(n<20)。卖票的人必须用从B类人中那里得来钱找给A,所以卖票
的顺序是有限制的。
要求写一个程序打印出所有的买票序列:
例如:m =2 ,n = 3;
BABAB
BBAAB
BBBAA
BBABA
#################################
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. }
##########实际上求组合############,再判断条件。
#include <stdio.h>
char str[500];
int n, m;
void oper(int a, int b,int m, int n)
{
if (a + b == m + n)
printf("%s\n", str);
/*else {
if (a < m && a < b) {
str[a + b] = 'A';
oper(a + 1, b, m, n);
}
if (b < n) {
str[a + b] = 'B';
oper(a, b + 1, m, n);
}
}*/
if (a < m){
str[a + b] = 'A';
oper(a + 1, b, m, n);
}
if (b < n){
str[a + b] = 'B';
oper(a, b + 1, m, n);
}
}
int main()
{
while (scanf("%d%d", &m, &n) == 2)
{
if (n < 0 || m < 0 || m > n)
printf("No result!\n");
else {
str[m + n] = 0;
oper(0, 0, m, n);
}
}
return 0;
}
分享到:
相关推荐
由于文件太大,分两部分:...http://linux.chinaunix.net/bbs/attachment.php?aid=214186 《开源时代》2008.10(第二期) http://linux.chinaunix.net/bbs/attachment.php?aid=219853 《开源时代》2008.11(第三期) ...
这是第十一期到第十六期,...http://linux.chinaunix.net/bbs/attachment.php?aid=214186 《开源时代》2008.10(第二期) http://linux.chinaunix.net/bbs/attachment.php?aid=219853 《开源时代》2008.11(第三期) ...
参考博文创建,详细解释参考:http://blog.chinaunix.net/uid-7552018-id-173419.html 3.安卓3.0以上使用自定义title时要注销默认title,详细参考:...
URLTester是一个URL测试工具,最主要的一个特色是:当一个域名对应... 网址:http://blog.chinaunix.net/u2/64804/showart_1132881.html<br>下载:http://blogimg.chinaunix.net/blog/upfile2/080818094844.zip<br>
根据网上了解,可以通过udev来实现U盘的自动识别和挂载,操作方法...http://blog.chinaunix.net/uid-26119896-id-5211736.html (u盘挂载) http://www.cnblogs.com/sopost/archive/2013/01/09/2853200.html (udev简介)
个人技术网站:http://hawkli.blog.chinaunix.net IOMS源站点: http://code.google.com/p/ioms/ IOMS全称为Integrated Operation Management System集中运维管理系统,是一个类似于Fedora统一网络控制器FUNC这样的...
小程序在:http://blog.chinaunix.net/u3/93660/showart_1860238.html 1、交叉编译: #arm-linux-gcc test.c -o test -I /usr/local/arm/3.4.1/arm-linux/include -L /usr/local/arm/3.4.1/arm-linux/lib 2、将...
http://bbs.chinaunix.net/viewthread.php?tid=942230 源代码下载:http://www.cn-dos.net/forum/atta ... c12e&download=1 https://gro.clinux.org/frs/download.php/2035/giCell_20070713.rar 演示下载:...
不过网上有一篇流传很广的文章(http://blog.chinaunix.net/uid-20743151-id-326359.html),里面有一句“CSocket经常不用派生就可以直接使用”,这个程序演示了这种用法。代码已使用 Visual Studio 2013 调试编译...
个人技术网站:http://hawkli.blog.chinaunix.net IOMS源站点: http://code.google.com/p/ioms/ IOMS全称为Integrated Operation Management System集中运维管理系统,是一个类似于Fedora统一网络控制器FUNC这样的...
个人技术网站:http://hawkli.blog.chinaunix.net IOMS源站点: http://code.google.com/p/ioms/ IOMS全称为Integrated Operation Management System集中运维管理系统,是一个类似于Fedora统一网络控制器FUNC这样的...
http://download.chinaunix.net/download/0001000/61.shtml 下载jdk安装文件jdk-1_5_0_16-linux-i586.bin 2. 更改权限设置() 通过# chmod +x jdk-1_5_0_16-linux-i586.bin命令使其获得可执行权限 2 . 解压...
http://blog.chinaunix.net/u/8754/showart_1961481.html Important Notice: Althouth there are no malicious codes included, I do not issue any guarantee of any kind, use it at your own risk!
参考:http://bbs.chinaunix.net/thread-4154743-1-1.html 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 修改后下载地址:HTMLTestRunner_jb51.rar (懒人直接下载吧) 2.修改汇总: 第94行,将...
特此感谢 独孤九贱的原创,链接:http://bbs.chinaunix.net/thread-3627341-1-1.html
软件功能: 1.查询Oracle实例名、状态、版本等 2.Oracle连接数 3.SGA信息 4.PGA信息 5.数据库使用 6.表空间使用情况 7.临时文件信息 ...使用说明详细见:http://blog.chinaunix.net/uid-765492-id-3380917.html
VS2008可以运行,多个客户端与服务端通信,针对某一个客户端通信,客户端也可以进行回复服务端
Huffman编码的C++实现 转载自: http://blog.chinaunix.net/uid-20546521-id-1927625.html