Это в основном проблема поиска пути: каждая валюта - это узел, каждая пара - (направленная) пересекаемая ссылка, и вы ищете кратчайший путь между каждой валютой и вашей целью. Поскольку ваша «крайняя стоимость» является постоянной величиной 1, вы можете просто использовать алгоритм Дейкстры для ее решения. Или просто делегируйте это стандартному пакету, например networkx.
После того, как вы определили свой график поиска пути, можете создать карту, указывающую путь к вашей общей валюте из каждой другой валюты.