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

    题目:根据停留人数选出需要爬楼梯最少的停留

    想法:对于电梯的要求:电梯在一楼出发,待用户输完想停的楼层后,停在其中的一层楼然后所有人下去徒步找各自的目标地,使最后所有人的爬楼梯数最短。

          设最后停在i层,i层下有n1个人,i层有n2个人,i+1层有n3个人,假设停i层为最短Y,若停在i-1层则Y-(n1-n2-n3)停在i+1层则Y-(n3-n1-n2)则n1>n2+n3停在i-1层,n3>n1+n2则电梯停在i+1层合算其余停i。

    代码:

      #include<iostream>
    using namespace std;
    
     int main()
     {
         int people[7];
         int i;
         int n1 = 0;
       int n2;
         int n3 = 0;
        /*int sum;*/
         for (i = 0; i < 7; i++)
    	 {    cout<< "第"<<i<<"层"<<endl;
             cin >>people[i];
        /*    sum += people[i];*/
        }
         n2 = people[0];
        for (i = 1; i <= 9; i++)
         {
             n3 += people[i];
        }
         for (i = 0; i < 10; i++)
         {
            if (n3 > n1 + n2)
            {
                 n1 = n1 + n2;
                 n2 = people[i + 1];
                 n3 -= people[i + 1];
             }
             else
             {   
                 cout << "要停在第"<<i+1<<"层"<<endl;
               
                break;
    			
             }
         }
     
     
         return 0;
     }
     
    

      截图:

    感想:没有想出来具体的算法,只能参考老师上课讲的思路,假设有三层 分别为i ;i+1; i-1;然后再进行算法。

  • 相关阅读:
    面试常见问题(2)-数据同步
    面试常见问题-SQL
    4TH PROFILE SOURCE IN SHAREPOINT 2013′S PEOPLE PICKER
    InfoPath代码切换视图
    Winform 的小技巧
    Sharepoint Workflow模板激活
    Hadoop介绍
    InfoPath的常见处理办法
    InfoPath的常见问题---连接外部数据源提示
    flask表单操作
  • 原文地址:https://www.cnblogs.com/TSbj/p/4442888.html
Copyright © 2011-2022 走看看