问题描述

  请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。
  假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。
  购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在编号最小的几个空座位中(不考虑是否相邻)。
  假设初始时车票全部未被购买,现在给了一些购票指令,请你处理这些指令。

输入格式

  输入的第一行包含一个整数n,表示购票指令的数量。
  第二行包含n个整数,每个整数p在1到5之间,表示要购入的票数,相邻的两个数之间使用一个空格分隔。

输出格式

  输出n行,每行对应一条指令的处理结果。
  对于购票指令p,输出p张车票的编号,按从小到大排序。

样例输入

4
2 5 4 2

样例输出

1 2
6 7 8 9 10
11 12 13 14
3 4

样例说明

1) 购2张票,得到座位1、2。
2) 购5张票,得到座位6至10。
3) 购4张票,得到座位11至14。
4) 购2张票,得到座位3、4。

评测用例规模与约定

  对于所有评测用例,1 ≤ n ≤ 100,所有购票数量之和不超过100。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{int a[20];int n,v;cin>>n;memset(a,0,sizeof(a));for(int i=0;i<n;i++){cin>>v;bool flag=true;for(int j=0;j<20;j++){if(a[j]+v<=5){for(int k=a[j]+1;k<a[j]+v;k++)cout<<5*j+k<<" ";cout<<5*j+a[j]+v<<endl;a[j]+=v;flag=false;break;}}if(flag)for(int j=0;j<20;j++){for(int k=a[j]+1;k<=5;k++){v--;if(v)cout<<j*5+k<<" ";elsecout<<j*5+k<<endl;}}}return 0;
}

CCF系列题解--2016年9月第二题 火车购票相关推荐

  1. CCF系列题解--2015年12月第二题 棋类消除

    问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消 ...

  2. CCF系列题解--2016年9月第四题 交通规划

    问题描述 G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统. 建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成高速铁路. ...

  3. CCF系列题解--2016年12月第三题 权限查询

    问题描述 授权 (authorization) 是各类业务系统不可缺少的组成部分,系统用户通过授权机制获得系统中各个模块的操作权限. 本题中的授权机制是这样设计的:每位用户具有若干角色,每种角色具有若 ...

  4. CCF系列题解--2016年4月第四题 方格游戏

    问题描述 小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列. 方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控 ...

  5. CCF系列题解--2015年3月第三题 节日

    问题描述 有一类节日的日期并不是固定的,而是以"a月的第b个星期c"的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日. 现在,给你a,b,c和y1, y2(1850 ≤ ...

  6. CCF系列题解--2018年3月第三题 URL映射

    问题描述 URL 映射是诸如 Django.Ruby on Rails 等网页框架 (web frameworks) 的一个重要组件.对于从浏览器发来的 HTTP 请求,URL 映射模块会解析请求中的 ...

  7. CCF系列题解--2015年12月第三题 ASCII字符画

    问题描述 用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术.例如,下图是用 ASCII 字符画出来的 CSPRO 字样. ..____.____..____. ...

  8. CCF系列题解--2017年12月第三题 Crontab

    样例输入 3 201711170032 201711222352 0 7 * * 1,3-5 get_up 30 23 * * Sat,Sun go_to_bed 15 12,18 * * * hav ...

  9. CCF系列题解--2013年12月第四题 有趣的数字

    问题描述 我们把一个数称为有趣的,当且仅当:        1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次.        2. 所有的0都出现在所有的1之前,而所有的2都出现 ...

最新文章

  1. Java内存模型与线程
  2. 让textarea完全显示文章并且不滚动、不可拖拽、不可编辑
  3. android.graphics.Paint方法setXfermode (Xfermode x...
  4. 点击文字label同时选中checkbox radio
  5. 用 Go 构建一个区块链 -- Part 7: 网络
  6. 实现日志管理的两种方式:aop、拦截器
  7. Office文档模型深入---Outlook文档模型与开发实战(1)
  8. 小米12 Ultra相机参数曝光:1.92亿像素主摄+1英寸超大底
  9. Redis学习总结(21)——Redis持久化是如何做的?RDB和AOF对比分析
  10. java10 WeakHashMap
  11. java 线程中断的方法_Java中断线程的方法
  12. 转载:肖知兴:管理到底是个什么鬼,以及怎么破
  13. Virtual Breadboard 4.46 arduino模拟仿真虚拟 破解下载
  14. 数字图像处理编程入门笔记
  15. 硅钢片铁芯、坡莫合金、非晶及纳米晶软磁合金
  16. Unity使用脚本动态修改材质球的颜色
  17. MAC OS升级记录
  18. C语言经典一百题(六)用*号输出字母C的图案。
  19. 《MySQL DBA修炼之道》——2.2 官方版本的安装
  20. ubuntu14.04更换国内软件源的方法

热门文章

  1. 用linuxdeployqt打包程序遇到qmake找不到的问题如何解决
  2. python学习(BMR计算器)
  3. 波长波数转换matlab,【求助】请教红外常用波数与波长之间的转换关系...
  4. 经典悖论漫游(续)[转]
  5. 刘群:基于深度学习的自然语言处理,边界在哪里?
  6. Python 网络爬虫实战:去哪儿网旅游攻略图文爬取保存为 Markdown电子书
  7. JS中事件绑定的方式以及事件监听和事件的委托
  8. Zookeeper 安装配置(大数据工程师工作笔记)
  9. SpringCloud 微服务工作笔记:validationQuery: SELECT 1 FROM DUAL
  10. 《有限与无限的游戏》第三章 我是自己的天才:经典摘抄(1)