Описанный Вами алгоритм оставляет слишком много свободы:выбирается произвольно ребро для раскраски, цвет выбирается произвольно из возможных. Поэтому не удивительно, что первые шаги раскраски он может пройти настолько неловко, что данных

цветов ему может не хватить.
Например

, рассмотрим бипирамиду из тетраэдров АВCD, ABCE,+ребро DE, которое окажется последним закрашенным, а дано всего 6 цветов 1,2,3,4.5.6. Красит AD=1,BD=2,CD=3,AB=3,AC=2,BC=1, а дальше алгоритм ведет себя не оптимально, мы ж ему это позволили, AE=4,BE=5,CE=6, ну и последнее ребро DE нельзя покрасить ни в один из 6ти цветов, только поэтому и должно быть 7 цветов.