Exemplo n.º 1
0
        public void GenerateMap(OligoMeta list, string first)
        {
            foreach (var l in list.min)
            {
                foreach (var k in list.max)
                {
                    List <int> eval = new List <int>();
                    eval = Evaluate(l.Key, k.Key);
                    if (!map.ContainsKey(l.Key))
                    {
                        map[l.Key] = new Dictionary <string, List <int> >()
                        {
                            { k.Key, eval }
                        }
                    }
                    ;
                    else
                    {
                        map[l.Key].Add(k.Key, eval);
                    }
                }
            }

            list.min.Remove(first);
            list.max.Remove(first);
        }
Exemplo n.º 2
0
        public Kontener(OligoMeta meta, CrossOligos cr)
        {
            cross      = cr;
            wartosci   = new List <string>();
            sprawdzone = new List <string>();

            foreach (var x in meta.max)
            {
                wartosci.Add(String.Copy(x.Key));
            }

            wartosci = wartosci.OrderBy(a => Guid.NewGuid()).ToList();
        }
Exemplo n.º 3
0
        public static string Prepare(string path, OligoMeta meta)
        {
            StreamReader reader = new StreamReader(path);

            reader.ReadLine();
            string first = reader.ReadLine();

            while (!reader.EndOfStream)
            {
                List <string> temp = reader.ReadLine().Split(' ').ToList();
                int           type;
                int.TryParse(temp[1], out type);

                switch (type)
                {
                case 1:
                    meta.min.Add(temp[0], 1);
                    meta.max.Add(temp[0], 1);
                    break;

                case 2:
                    meta.min.Add(temp[0], 2);
                    meta.max.Add(temp[0], 3);
                    break;

                case 3:
                    meta.min.Add(temp[0], 4);
                    meta.max.Add(temp[0], 5);
                    break;

                case 4:
                    meta.min.Add(temp[0], 6);
                    meta.max.Add(temp[0], 9);
                    break;
                }
            }

            return(first);
        }
Exemplo n.º 4
0
        static void  Main()
        {
            CrossOligos ol = new CrossOligos();

            OligoMeta meta = new OligoMeta();


            string first = Prepare("10.in", meta);

            ol.GenerateMap(meta, first);

            Kontener kon = new Kontener(meta, ol);

            kon.first = first;

            kon.LiczWartosci();


            Algorytm alg = new Algorytm(kon);

            alg.Run();
        }