Главная > Плоская укладка
1995
Максимальная оценка: 60 баллов

Имеется сеть из N (3 ≤ N ≤ 15) узлов, некоторые из которых соединены дугами. Задан замкнутый путь P, проходящий по дугам сети и содержащий каждый узел ровно один раз. Напишите программу, которая рисует на экране узлы и соединяющие их дуги так, чтобы узлы находились в вершинах правильного N-угольника, и никакие две дуги не пересекались и не проходили через вершины многоугольника. Узлы изображаются маленькими кружочками желтого цвета. Дуги изображаются кривыми, состоящими из отрезков и (или) дуг окружностей. Дуги, содержащиеся в пути P, рисуются фиолетовым цветом, а остальные - зеленым. Рисунок должен быть подходящим образом отмасштабирован.

Исходные данные расположены в текстовом файле (имя файла вводится с клавиатуры) по следующему формату: количество узлов N; количество дуг M; список из M дуг, каждая дуга задается парой номеров соединяемых узлов; замкнутый путь P, заданный списком из N+1 номеров узлов в порядке обхода (номер первого узла совпадает с номером последнего).

Пример файла исходных данных:

4 5
1 2 4 2 1 3 3 4 1 4
2 4 3 1 2

Числа в исходном файле разделяются пробелами и (или) символами перевода строки. Если сеть невозможно нарисовать требуемым образом, программа должна выдать на экран соответствующее сообщение и закончить работу. Допускается частичное решение задачи, проверяющее только возможность изображения схемы (15 баллов). Исходные данные корректны и их проверка не требуется.

Предусмотрите возможность спокойно разглядеть Ваше творение.

 
Hosted by uCoz