Вот другой подход - я не думаю, что вы хотите выполнить исключение по Гауссу с n = 100 000, поэтому я выполнил поиск в Интернете связанных проблем.
Если на графике более одного подключенного компонента, выможно рассматривать их отдельно, поэтому давайте предположим, что у него есть только один.
Постройте остовное дерево на вашем компоненте и отметьте одну из вершин как корень этого дерева.Зафиксируйте направления ребер не на остовном дереве, как вам нравится.Возьмите каждую вершину по одному, начиная с листьев, имея дело со всеми потомками вершины, прежде чем иметь дело с этой вершиной.Для каждой вершины выберите направление ребра дерева до его родителя, чтобы его собственная степень была четной, и игнорируя последствия для его родителя.Каждая вершина, кроме корня, имеет ребро, соединяющее ее с родителем, поэтому для каждой вершины, кроме корня, вы можете быть уверены, что ее степень четна.
Когда вы приходите к корню, у вас нет ребероставив направление, которое вы можете изменить, так что вы не можете изменить его степень, которая является четной или нечетной.Если это даже все хорошо - каждая вершина имеет даже степень.Если это нечетно, у вас есть одна вершина с нечетной степенью, а все остальные с четной степенью, поэтому сумма всех степеней нечетна.Но сумма всех степеней - это просто число ребер в графе, которое вы не можете изменить.Если число ребер в графе нечетное, всегда будет хотя бы одна вершина с нечетной степенью, и проблема все равно будет невозможна.