12届蓝桥杯第五题:
输入描述: 输入三个正整数X,Y,M(X<Y<M),X和Y表示有毒气密室编号,M表示需要进入的密室
编号,且三个正整数之间以英文逗号隔开,每次可前进一间或两间密室(非毒气)
输出描述: 输出进入M号密室有多少种路线方案
样例输入: 2,4,7
样例输出: 2
1. 列表字符串转为整型 map() 函数:
du1,du2,end=map(int,l)
2. 自定义递归函数 method():
可进入的密室:方法数为1,return1
不可进入的密室:方法数为0,return0
def method(du1,du2,end): if end==1: return 1 elif end==2 and du1!=end and du2!=end: return 1 elif end==du1 or end==du2: return 0 return method(du1,du2,end-1)+method(du1,du2,end-2)
3. 题解:
'''处理输入''' string=input() l=string.split(',') du1,du2,end=map(int,l) '''递归法''' def method(du1,du2,end): if end==1: return 1 elif end==2 and du1!=end and du2!=end: return 1 elif end==du1 or end==du2: return 0 return method(du1,du2,end-1)+method(du1,du2,end-2) '''调用函数''' m=method(du1,du2,end) print(m)
-END
标签:elif,end,Day2,return,method,蓝桥,du1,一题,du2 From: https://www.cnblogs.com/peitongshi/p/16888603.html