一辆车算 3000 张票
将每个站点都设置个标志位
0 为未出售 1 为已卖出
出 A-B 的票逻辑:
1.搜索有没有 A-B 标志位都为 0 的行
2.将该行 A-B 所有标志位设为 1
完全没难度啊,多一张票=多插入一行,大家看看这想法对不对
python 测试代码:
zhandian=['南通','如皋','泰州','江都','扬州','滁州北','蚌埠','合肥','庐江','桐城','安庆西','天柱山','太湖','南昌','吉安','信丰','龙川','河源','惠州','东莞东','深圳东'] #三千张票 tickets=[[0 for i in range(len(zhandian))] for x in range(3000)] def by_ticket(start,end): start_index=zhandian.index(start) end_index=zhandian.index(end) if end_index<=start_index: # 站点输入错误 return -3 for t in tickets: if t[start_index:end_index+1]==[0 for i in range(end_index-start_index+1)]: t[start_index:end_index+1]=[1 for i in range(end_index-start_index+1)] print('买到座位号{}的票 位置详情:{}'.format(t[0],t)) return t print('无票') return -1
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.