zoukankan      html  css  js  c++  java
  • 算法题

    部门优化某公司内有4个项目组,项目组A、B、C、D,项目组A现有10人,项目组B现有7人,项目组C现有5人,项目组D现有4人。为了实现跨项目组协作,公司决定每月从人数最多的项目组中抽调3人出来,到其他剩下3组中,每组1人,这称之为一次调整优化(亦即经过第一次调整后,A组有7人,B组有8人,C组有6人,D组有5人)。那么请问,经过十年的优化调整后,各项目组各有几人?编程求解该问题,并思考是否为最优解。

    /// <summary>
            /// 
            /// </summary>
            /// <param name="a">a部门</param>
            /// <param name="b">b部门</param>
            /// <param name="c">c部门</param>
            /// <param name="d">d部门</param>
            /// <param name="count">调整次数</param>
            public static void MaxPub(int a,int b,int c,int d,int count)
            {
                Dictionary<string, int> keyValues = new Dictionary<string, int>();
                keyValues.Add("a", a);
                keyValues.Add("b", b);
                keyValues.Add("c", c);
                keyValues.Add("d", d);
    
                for (int i = 0; i < count; i++)
                {
                   string max= keyValues.Keys.Select(x => new { x, y = keyValues[x] }).OrderBy(x => x.y).Last().x;
    
                   keyValues[max] = keyValues[max] - 4;
                    for (int j = 0; j < keyValues.Keys.Count; j++)
                    {
                        var item = keyValues.ElementAt(j);
                        keyValues[item.Key]= item.Value + 1;
                    }
                }
            }
    

      

  • 相关阅读:
    C语言经典算法100例-039-排序队列中插入新元素
    C语言经典算法100例-037-给10个数排序
    C语言经典算法100例-036-求100之内的素数
    C语言经典算法100例-032~35
    C语言经典算法100例-031-判断星期几
    安卓 短信页面设置(线性布局)
    CSS样式表
    HTML表单
    第1部分 HTML 表格
    多线程
  • 原文地址:https://www.cnblogs.com/zqm1/p/13680879.html
Copyright © 2011-2022 走看看