private void ZlepiajLitere(Graf <int> item)
        {
            List <int> P1, P2;
            float      ŚredniaWielkość = ObliczŚredniąWIelkość(item);

            item.ZnajdźPołączenia(out P1, out P2);
            if (P1.Count > 6)
            {
                return;
            }
            int   IlośćMożlwiości        = 1 << P1.Count;
            int   Stan                   = IlośćMożlwiości - 1;
            float NajwiekszePodobieństwo = int.MaxValue;
            List <ZdjecieZPozycją> NajlepiejDopasowane = new List <ZdjecieZPozycją>();

            for (int i = 0; i < IlośćMożlwiości; i++)
            {
                UstawGraf(P1, P2, Stan, i, item);
                item.CzyśćZaznaczenia();
                List <ZdjecieZPozycją> z = new List <ZdjecieZPozycją>();
                foreach (var SpójneObszary in item.ZnajdźObszary())
                {
                    z.Add(PobierzZdjecie(SpójneObszary));
                }
                double Podobieństwo;
                if (ŚredniaWielkość == 0)
                {
                    Podobieństwo = z.Average(d => d.NajbliszePodobieństwo);
                }
                else
                {
                    Podobieństwo = z.Average(d => d.NajbliszePodobieństwo / Matematyka.Podobność(ŚredniaWielkość, d.Obszar.Wielkośc()));
                }
                if (Podobieństwo < NajwiekszePodobieństwo)
                {
                    NajwiekszePodobieństwo = (float)Podobieństwo;
                    NajlepiejDopasowane    = z;
                }



                Stan = i;
            }
            foreach (var item2 in item.Listuj())
            {
                PaczkaGrafu pk = PaczkiDoGrafu[item2];
                pk.LinikaDoKrótrejNajlerzy.ListaZZdjeciami.Remove(pk.zp);
            }
            foreach (var item2 in NajlepiejDopasowane)
            {
                Liniki[0].Add(item2);
                item2.IlośćSąsiadów = item.Wielkość - 1;
            }
            item.Zaznacz();
        }
        private void Przyporząduj(List <Linika> zwracanePrzedPrzemianą)
        {
            Liniki = zwracanePrzedPrzemianą;
            int NumerPorządkowy = 0;

            foreach (var item in zwracanePrzedPrzemianą)
            {
                foreach (var item2 in item.ListaZZdjeciami)
                {
                    PaczkaGrafu pk = new PaczkaGrafu()
                    {
                        LinikaDoKrótrejNajlerzy = item, Pomocniczy = NumerPorządkowy++, zp = item2
                    };
                    PaczkiDoGrafu.Add(pk);
                    Obiekty.Add(item2, pk);
                }
            }
            Graf.ZmieńWielkośćIntami(Obiekty.Count);
        }