zoukankan      html  css  js  c++  java
  • ccf 火车购票

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class Main2 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    			List<int[]> lt = new ArrayList<int[]>();
    			Scanner input = new Scanner(System.in);
    			int count = input.nextInt();
    			int[] buy = new int[count];
    			for(int i =0;i < count;i++){
    				buy[i] = input.nextInt();
    				
    			}
    			for(int j = 0;j < 20;j++){
    				int[] arr = {j,5};
    				lt.add(arr);
    			}
    			
    			for(int i =0;i<count;i++){
    				
    				for(int j =0; j < lt.size();j++){
    					
    					if(buy[i] <= lt.get(j)[1]){
    						int index = lt.get(j)[0];
    						int bianhao = lt.get(j)[1];
    						for(int k = 1;k<=buy[i];k++){
    						System.out.print(index*5 + 5 - bianhao+k + " ");
    						}
    						bianhao -= buy[i];
    						if(bianhao==0){
    							lt.remove(j);
    							break;
    						}else{
    							int[] arr = {index,bianhao};
    							lt.set(j, arr);
    							break;
    						}
    					}else if(j == lt.size()-1){
    						
    						for(int k =0;k < lt.size();k++){
    							int index = lt.get(k)[0];
    							int bianhao = lt.get(k)[1];
    							while(buy[i]!=0&&bianhao!=0){
    								buy[i]--;
    								System.out.print(index*5 + 5 - bianhao + 1 + " ");
    								bianhao--;
    							}
    							if(bianhao==0&&buy[i] !=0){
    								lt.remove(k);
    								k--;
    								continue;
    							}
    							if(buy[i] ==0){
    								if(bianhao==0){
    									lt.remove(k);
    									
    								}
    								break;
    							}
    							
    						}
    					}
    				}
    				
    				System.out.println();
    			}
    			
    			
    			
    	}
    
    
    }
    

     这道题的思路我的思路是如何?构建个集合lt存放座位,每次购票的行为的时候,

    都会遍历这个集合,如果集合中的某个元素的座位变为0,即是卖完了,则把它从集合中删除掉。这里面有个重点就是当座位不能连在一起买的时候,就需要分开买,

    因此需要一个else if来判断是否遍历完了,都还没有买到票,进而进入分散买票。

    这个是我的测试结果。

  • 相关阅读:
    python3+request接口自动化框架
    类型转换函数
    操作符重载(三)
    操作符重载(二)
    操作符重载(一)
    时间获取函数
    文件和目录
    Linux五种IO模型
    类中的函数重载
    系统调用IO和标准IO
  • 原文地址:https://www.cnblogs.com/ke-T3022/p/7929682.html
Copyright © 2011-2022 走看看