zoukankan      html  css  js  c++  java
  • 电梯调度

    一、题目要求

    基础大楼一共有四部电梯,每层都有人上下,电梯在每层都停。信1201-1班的张一东觉得在每层都停觉得不耐烦。
    由于楼层不太高,在上下课高峰期时时,电梯从一层上行,但只允许停在某一楼层。在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层。
    问电梯停在那一楼层,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少。

    二、设计思路

    遍历每层计算最小的乘客上下楼梯层数总和

    三、实验代码

    package com.minirisoft;
    
    import java.util.Scanner;
    
    public class Dianti {
    	public static void main(String[] args)
    	{
    		Scanner input=new Scanner(System.in);
    		System.out.println("请输入有多少人用电梯");
    		int n=input.nextInt();   //上电梯人数
    		int[] array=new int[n];  //每个人要到的楼层数的数组
    		int[] sum=new int[10];   //遍历每层所有用户要上下楼数的总和的数组
    /*********乘客输入要到的楼层**************/ for(int j=0;j<n;j++) { System.out.println("请输入要到的楼层"); array[j]=input.nextInt();
    }
    /***********求每层每层所有用户要上下楼数的总和********************/ for(int i=0;i<18;i++){ for(int j=0;j<n;j++) { sum[i]=sum[i]+Math.abs(array[j]-(i+1)); } } int max=sum[0];//求出最小的用户要上下楼数的总和
    int j=0; //定位求出最小总和的层数 for(int i=0;i<18;i++) { if(sum[i]<sum[0]) { sum[0]=sum[i]; j=i; } } System.out.println("应该在"+(j+1)+"层停"); } }

     实验截图

    四、心得体会

    对电梯调度有一种全新的认识,对于向学校这样较多的人,而且体力较好的不一定把每个用户都送到目的地,可以让他们走最少的距离,这样都能节省时间

  • 相关阅读:
    HDU4474 Yet Another Multiple Problem BFS搜索
    HDU4473 Exam 数学分析
    2013ACM多校联合(4)
    POJ1273 网络流...
    HDU4472 Count 递推
    POJ1149 PIGS 网络流
    UVA10881 Piotr's Ants 想法题
    javascript js string.Format()收集
    修改 设置 vs.net 网站 调试 设为 起始页
    【转】HTML5杂谈 概念与现行游戏 割绳子 宝石迷阵
  • 原文地址:https://www.cnblogs.com/tianyaguying/p/4435081.html
Copyright © 2011-2022 走看看