private void UstawGraf(List <int> p1, List <int> p2, int stan, int NowyStan, Graf <int> g)
 {
     for (int i = 0; i < p1.Count; i++)
     {
         int  Maska             = 1 << i;
         bool PołączenieWStarym = (stan & Maska) != 0;
         bool PołączenieWNowym  = (NowyStan & Maska) != 0;
         if (PołączenieWNowym && !PołączenieWStarym)
         {
             g.PołączenieDwustrone(p1[i], p2[i]);
         }
         if (!PołączenieWNowym && PołączenieWStarym)
         {
             g.UsuńPołączenieDwuStrone(p1[i], p2[i]);
         }
     }
 }
        private float ObliczŚredniąWIelkość(Graf <int> item)
        {
            HashSet <Linika> l = new HashSet <Linika>();

            foreach (var a in item.Listuj())
            {
                Linika linika = PaczkiDoGrafu[a].LinikaDoKrótrejNajlerzy;
                if (linika.ListaZZdjeciami.Count > MinimalnaWIelkoścLiniki)
                {
                    l.Add(linika);
                }
            }
            if (l.Count == 0)
            {
                return(0);
            }
            return(l.Average(D => D.ŚredniaWIelkość()));
        }