Пример #1
0
        public List <Transaction> Solution(int startStation, int endStation, int startTime)
        {
            InitializeBigTransportMap(startTime);
            if (!IsWaysExist(BigTransportMap, startStation, endStation, startTime))
            {
                return(new List <Transaction>());
            }
            List <Transaction> resultMatrix = new List <Transaction>();                                                                       //После всех проверок генерируем карту переездов от станции отправления.

            resultMatrix = BigTransportMap.Where(x => x.StartStation == startStation && x.StartTime >= Buses.Min(y => y.StartTime)).ToList(); //. GroupBy(x => x.BusId);//Отбираем транзакции по следующей станции прибытия
            Transaction resultOnCostTransaction   = new Transaction();
            Transaction resultOnLenghtTransaction = new Transaction();                                                                        // Для данной оценки задать начальное значение, как список станций + 1

            InitializeMarks(ref resultOnLenghtTransaction, ref resultOnCostTransaction);
            SolutionIteration(resultMatrix, endStation, ref resultOnLenghtTransaction, ref resultOnCostTransaction);
            resultMatrix.Clear();
            resultMatrix.Add(resultOnLenghtTransaction);
            resultMatrix.Add(resultOnCostTransaction);
            return(resultMatrix);
        }