博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
火车购票
阅读量:5019 次
发布时间:2019-06-12

本文共 1044 字,大约阅读时间需要 3 分钟。

问题描述
试题编号: 201609-2
试题名称: 火车购票
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
问题描述
  请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。
  假设一节车厢有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
using namespace std;int main(){int n;int p;int s[20][6];int i,j,k;int sold;bool suc;for(i=0;i<20;i++){ for(j=0;j<6;j++){ if(j<5) s[i][j]=1; else s[i][j]=5; }} cin>>n; for(i=0;i
>p; suc=false; sold=0; for(j=0;j<20;j++){ if(s[j][5]>=p){ s[j][5]-=p; for(k=0;k<5;k++){ if(s[j][k]==1&&sold

  

转载于:https://www.cnblogs.com/fishegg/p/7351734.html

你可能感兴趣的文章
MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)
查看>>
7.9 初识函数定义与调用
查看>>
【转】android 自定义控件
查看>>
bzoj1185 [HNOI2007]最小矩形覆盖 旋转卡壳求凸包
查看>>
首个 iOS 应用程序(三)
查看>>
iOS App中 使用 OpenSSL 库
查看>>
CSS 隐藏页面元素的 几 种方法总结
查看>>
mac下递归创建ctags报错: "illegal option -- R"
查看>>
python 线程条件变量锁
查看>>
py 的 第 19 天
查看>>
iframe无刷新跨域上传文件并获取返回值
查看>>
ARMV7-M数据手册---Part B :System Level Architecture---B2 System Memory Model
查看>>
洛谷 P2590 [ZJOI2008]树的统计
查看>>
部落卫队 (回溯搜索)
查看>>
一些面试题(1)
查看>>
[Usaco2008 Feb][BZOJ1609] Eating Together麻烦的聚餐
查看>>
redis中键空间通知
查看>>
用Socket来简单实现IIS服务器
查看>>
时间戳
查看>>
js遍历对象的方法
查看>>