Заметим, что состояние однозначно задает множество супергероев, находящихся на Земле, и планета, на которой находится корабль. Получаем 2n·2 различных состояний. Переходы из состояния — это все возможные подмножества множества супергероев, находящихся на той планете, на которой стоит корабль. Выбранное подмножество полетит на корабле на другую планету. Суммарно получается 3n·2 перехода. Далее, в получившемся графе нужно найти любой путь от состояния, задающего стартовую конфигурацию, в состояние, задающее требуемую конфигурацию. Например, с помощью алгоритмов bfs или dfs. Так как максимальное возможное количество вершин в графе не превышает 100 000, любой найденный простой путь по длине не будет превышать это ограничение.