思路待补充

import java.util.Scanner;

class Main{
public static void main(String[] args) {
//100个座位
int[] seat = new int[100];
Scanner sc = new Scanner(System.in);
//购票指令的数量
int n = sc.nextInt();
//存储每次的购票数量
int[] record = new int[n];
//初始化购票指令
for(int i = 0;i<n;i++){
record[i] = sc.nextInt();
}
sc.close();
//开始购票
for(int i = 0;i<n;i++){
//将每次购票放在一个变量num中
int num = record[i];
//是否有连续座位
boolean flag = false;
for(int x = 0;x<20;x++){
for(int y = 0;y<5;y++){
//当前这个位置没有被安排
//且当前行开始+当前需要预定票数要<=5
if(seat[x*5+y]==0&&y+num<=5){
for(int z = x*5+y;z<x*5+y+num;z++){
//第一次购票,就在座位标记1,第二次购票,就在座位标记2
seat[z] = i+1;
}
//有连续座位
flag = true;
//跳出第三个for循环
break;
}
}
//跳出第二个for循环
if(flag){
break;
} }
//初始的flag是false,如果经过中间三个for循环,flag就是true,就进不了下面的if
//查看flag,如果没有连续座位,就是从前到后遍历,每一个座位遇到0,就置数字
if(!flag){
while(num-->0){
for(int w = 0;w<100;w++){
if(seat[w]==0){
seat[w] = i+1;
//置完一次就跳出for循环,给本次购票 下一张票找位置
break;
}
}
}
}
}
//开始遍历座位输出
//定义一个count,记录每一次购票是否达到本次购票数目
int count = 0;
for(int i = 0,j = 1;i<100;i++){
if(seat[i]==j){
System.out.print(i+1+" ");
count++;
//如果count等于本次购票数目,就重新开始遍历,i和count置0;j++,进行下一个购票指令
if(count==record[j-1]){
i = 0;
j++;
count = 0;
System.out.println();
}
}
}
}
}

最新文章

  1. 表单 - Form - 无刷新提交原理
  2. 【编程题目】一个整数数组,长度为 n,将其分为 m 份,使各份的和相等,求 m 的最大值★★ (自己没有做出来!!)
  3. thinkphp 一个页面使用2次分页的方法
  4. hdu 1853 Cyclic Tour 最小费用最大流
  5. 乱谈Qt事件循环嵌套
  6. 【结构型】Adapter模式
  7. Mac OS X 下修改网卡地址和抵御 ARP 攻击
  8. hdu2899 Strange fuction
  9. Dubbo服务接口的设计原则
  10. logback读取src/test/resource下的配置文件
  11. TabTopAutoTextSizeLayout【自定义文字字号区域(动态选项卡数据且可滑动)】
  12. Spring Boot 整合Quartz定时器
  13. 邻接表&amp;链式前向星
  14. Centos ssh 限制ip访问
  15. C#集成FastDFS断点续传
  16. FireDAC 下的 Sqlite [5] - 数据的插入、更新、删除
  17. e791. 为JSpinner定制编辑器
  18. DropDownListFor的种种纠结(禁止转载)
  19. CentOS7--TigerVNC
  20. nancyfx 自定义路由module

热门文章

  1. chrome警告:Synchronous XMLHttpRequest on the main thread
  2. nginx做维护页面
  3. mybaits-plus总结
  4. Golang的循环结构-for语句
  5. 126-PHP类__get()魔术方法
  6. 【CF1154G】Minimum Possible LCM
  7. opencv python训练人脸识别
  8. java IO 流关系图谱
  9. canvas背景粒子动态变化动画
  10. PAT Advanced 1072 Gas Station (30) [Dijkstra算法]