Во-первых, это может быть проще реализовать с помощью dfs (все еще необходимо попрактиковаться).
Во-вторых, вы можете рассмотреть подсчет всех узлов с расстоянием, меньшим, чем предельная длина от начального узла, когда вы вычисляете сильно связанные компоненты, но это может увеличить сложность времени.
Наконец, вы можете воспользоваться многопоточностью или параллельными вычислениями, надеюсь, вы сможете достичь финала в CodeCraft2020.