• 算法题


    部门优化某公司内有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;
                    }
                }
            }
    

      

  • 相关阅读:
    Grafana+Prometheus监控mysql性能
    性能测试监控平台Grafana的使用
    搭建grafana+telegraf+influxdb服务器性能监控平台
    cocos2d-x jsb 防止触摸事件传递
    web app 相关记录
    如何在Teamcenter中使用PMI?
    浅谈人机工程应用在数字化工艺中的作用
    关于奇葩说
    一些感想
    关于起名
  • 原文地址:https://www.cnblogs.com/zqm1/p/13680879.html
Copyright © 2020-2023  润新知