На прошлом чемпионате по программированию в Яндексе была задача.
То ли я условия скопировал не правильно, то ли просто не понимаю что нужно сделать.
В условия мы должны брать список городов, до которых можно долететь из заданного. Откуда мы берем данный список?
Помогите разобраться пожалуйста.
B. Авиамаршруты (1 балл)
Вы пишете новый сервис для поиска составных авиабилетов.
Необходимо написать функцию, которая найдет любую цепочку перелетов из пункта вылета в пункт назначения.
Функция принимает на вход пункт вылета, пункт назначения и функцию поиска билетов.
Функция должна вернуть промис, который зарезолвится - массивом из всех остановок
(например, [’A’, ’B’, ’C’]); - или строкой ’no way’, если до пункта назначения добраться нельзя.
Гарантируется, что составной авиабилет или отсутствует или единственно возможный (нет ромбовидных перелетов).
Нельзя искать несколько билетов параллельно. Нельзя использовать async/await и генераторы.
Интерфейс функции поиска билетов:
// Возвращает список городов, до которых можно долететь из заданного.
function fetchFlights(departurePoint: string): Promise;
Решение необходимо предоставить в виде CommonJS-модуля:
module.exports = function (start, end, fetchFlights) {
// Your code here.
// ...
return Promise.resolve(’no way’);
return Promise.resolve([’A’, ’C’, ’D+’]);
};
Вердикт RE также означает, что отправленное решение неверно.
Формат ввода
PIC
Необходимо построить маршрут из пункта A в пункт D+.
Формат вывода
[’A’, ’B’, ’D+’]
1) рейсы для А: В и C;
fetchFlights(’A’) => [’B’, ’C’]
2) рейсы для B: D+;
fetchFlights(’B’) => [’D+’]
3) рейсы для C: D+;
fetchFlights(’C’) => []
4) составной авиабилет найден [’A’, ’B’, ’D+’]