zoukankan      html  css  js  c++  java
  • 201609-2 火车购票 Java

    思路待补充

    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();
    				}
    			}
    		}		
    	}
    }
    
  • 相关阅读:
    Python与mongo交互
    MongoDB数据库操作
    爬虫之xpath解析库
    selenium常用操作
    无头浏览器的使用
    BeautifulSoup库使用
    urllib简单介绍
    爬虫自动化工具防检测
    支付宝支付
    TortoiseSVN使用教程[多图超详细]
  • 原文地址:https://www.cnblogs.com/yu-jiawei/p/12366242.html
Copyright © 2011-2022 走看看