• 电梯问题


    1.题目:

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

    2.设计思路:

    我打算用最笨的方法来实现它,记录所有登电梯乘客的楼层信息,从最低的楼层一直计算到最高楼层,进而比较求出其中最优解,从而电梯调度到那一层实现用户要求。

    3.源代码:

     1 #include<iostream>
     2 #include<math.h>
     3 using  namespace std;
     4 int main()
     5 {
     6      int i,j;
     7      int m;
     8      int sum[18],summin;
     9      int max=2,min,n=0;
    10      int a[15]={0};
    11     cout<<"请输入乘电梯的人数:"<<endl;
    12     cin>>n;
    13      cout<<"请输入您想要去的楼层:"<<endl;
    14     for(i = 0;i < n;i++)
    15    {
    16          cin>>a[i];    
    17          if(a[i] <= 1)
    18        {
    19              cout<<"输入错误,请重新输入!"<<"	";
    20              cin>>a[i];    
    21         }
    22    }
    23      min = a[0];
    24      for(i = 0;i < n;i++)
    25    {
    26          if(a[i] > max)
    27             {
    28                  max = a[i];
    29             }    
    30             if(a[i] <= min)
    31             {
    32                 min = a[i];
    33             }
    34     }
    35      for(j = min;j <= max;j++)
    36     {
    37          sum[j] = 0;
    38          for(i = 0;i < n;i++)
    39         {
    40              sum[j] += abs(a[i] - j);
    41         }
    42     }
    43     summin = sum[min];
    44      m = min;
    45      for(j = min;j <= max;j++)
    46    {
    47          if(sum[j] < summin )
    48         {
    49              summin = sum[j];
    50              m = j;
    51         }
    52     }
    53      cout<<"电梯停在第"<<m<<""<<endl;
    54      return 0;
    55  }

    4.结果截图:

    5.心得体会:

    还是最笨的方法,没能实现课堂上所说的优化算法,还是有些不足吧,希望以后能在这方面多多练习吧。

  • 相关阅读:
    用Fusion Log诊断同一版本冲突问题解决
    SQLSERVER 切换数据库为单用户和多用户模式
    redis常用命令
    linq函数All,Any,Aggregate说明
    rabbitmq部署安装
    Centos7防火墙常用命令
    SQL SERVER添加表注释、字段注释
    Windows定时任务管理以及服务管理
    SQLServer 2008数据库查看死锁、堵塞的SQL语句
    SQLServer查询死锁
  • 原文地址:https://www.cnblogs.com/zhengt/p/4439248.html
Copyright © 2020-2023  润新知