void InitAdjacencyList()
    {
        adjacencyList = new AdjacencyList(numberOfCells);

        for (int i = 0; i < numberOfCells; i++)
        {
            /* EdgeCost is already added for both direction in AdjacencyList implementation */
            if (i % cellsPerLine != 0)
            {
                adjacencyList.AddEdgeCost(i, i - 1, rnd.Next(0, CostRange));                              // edge left to right
            }
            if (i >= cellsPerLine)
            {
                adjacencyList.AddEdgeCost(i, i - cellsPerLine, rnd.Next(0, CostRange));                     // edge up to down
            }
        }
    }