Пример #1
0
        public void TestSnakeNestIntegrated()
        {
            int                size     = 10;
            string             path     = Path.GetDirectoryName(Path.GetDirectoryName(System.IO.Directory.GetCurrentDirectory()));
            string             name     = String.Format("Data\\{0}x{0}.csv", size);
            var                filePath = Path.Combine(path, name);
            List <List <int> > arr      = FileHelper.GetArrayFromCSV(size, filePath);

            Assert.IsTrue(arr.Count == size);
            Assert.IsTrue(arr[0].Count == size);
            Assert.IsTrue(arr[size - 1].Count == size);

            var nest = new SnakeNest(ref arr);

            var found = false;
            var i     = 0;
            var j     = 0;

            while (!found && i < size)
            {
                while (!found && j < size)
                {
                    found = nest.FeedFrom(i, j);
                    j++;
                }
                i++;
            }
            Assert.IsTrue(found);
            Assert.IsTrue(nest.SnakesFound.Count == 2);
            Assert.IsTrue(nest.SnakesFound[0].SnakeValue == 1188);
            Assert.IsTrue(nest.SnakesFound[1].NodeCount == 7);
            Assert.IsTrue(nest.SnakeCount == 178);
        }
Пример #2
0
        public static void Search2Snakes(int size, string path)
        {
            // Retrieve data from csv file converting into array sizexsize
            List <List <int> > arr = FileHelper.GetArrayFromCSV(size, path);

            var nest  = new SnakeNest(ref arr);
            var found = false;
            var i     = 0;
            var j     = 0;

            //iterate through each array element
            while (!found && i < size)
            {
                while (!found && j < size)
                {
                    // start to feed a snake nest from each element
                    found = nest.FeedFrom(i, j);
                    j++;
                }
                i++;
            }
            if (found)
            {
                // once found first 2 snakes with same value print
                foreach (var snake in nest.SnakesFound)
                {
                    Console.WriteLine(snake);
                }
            }
            Console.WriteLine("Snakes: " + nest.SnakeCount);
        }