Advertisement

火车购票(CSP 100分代码)

阅读量:

请开发一个铁路购票系统的基本座位分配算法以解决一节车厢内的乘客就座问题。
考虑车厢结构时,默认每排有5个座椅共计20排(即总共有100个座椅)。所有座椅将按照从前往后、从左到右的原则依次进行编号(例如第1排为1-5号第2排为6-10号以此类推第20排则为96-100号)。
购票过程中每位乘客可能购买多于一张车票但数量上限设定为5张如果这些车票能够安排在同一排内连续编号的位置则应优先选择这些位置中的第一个可用空位;如果无法满足这一条件则可选择最早被占用的前几个可用空位(无需考虑是否相邻)。
当所有车票购买指令已知时请按照顺序依次处理每位乘客的需求并输出其车票的具体位置信息(按升序排列)。
输入数据格式如下:第一行为一个整数n表示后续共有n条购票指令第二行为n个整数组成的序列每个元素p满足条件1≤p≤5表示每位乘客希望购买的数量(注意这里的p值仅表示数量而非具体的票价)根据上述规则生成对应的车票位置列表并按顺序输出结果列表每一行对应一条购票指令的结果列表(每行包含相应数量的位置信息且需按升序排序)。
例如对于样例输入4条指令分别为[2 5 4 2]其对应的输出结果应分别为[1 2] [6 7 8 9 10] [11 12 13 14] [3 4]等

题目解析:这一题要求我们解决的是模拟火车车厢座位分配的问题。不言而喻地讲,在这种情况下我们必须借助二维数组

全部评论 (0)

还没有任何评论哟~