Выполнил: ст. 419г. Киршев И. Ф.
Проверил:
Березнев Д. П.
1998
Составить программу определения минимального числа цветов, необходимых для раскраски карты произвольной конфигурации таким образом, чтобы страны с одинаковой раскраской не соприкасались. Схему границ карты представить массивом. На внешних файлах расположить 3 - 4 схемы расположения стран. Итоги представить в виде текста с указанием выбранных для каждой из стран цветов. Желательно завершить программу графическим приложением.
Переменные:
"num" - номер файла, выбираемый пользователем.
"filen" - имя файла.
"g[1..100] - массив, используемый "генератором перебора всех вариантов"
Возможно вы искали - Реферат: Микропроцессор Z80 его структура и система команд
"s:array[i,j]" - массив "связей" показывает, есть ли связь между странами "i" и "j".
"n" - количество цветов, используемых для раскраски.
"max - максимально возможное количество стран (определяется при считывании данных).
"s1,s2,k,j,i,a" - переменные, для работы "генератора".
"f, f1" - переменные для работы с файлами.
"function get:integer;"
Функция считывает текущее число, из файла связанного с переменной - "f" и ищет максимальное число из всех считанных.
Пока строка = '' или символ является:
- цифрой,
- "-",
- "."
считывает символ.
Если символ является:
- цифрой,
- "-",
- ".",
то он добавляется в строку "s".
Строка цифр "s" преобразуется в число. Если "max" меньше числа, то "max" приравнивается считанному числу.
"function pr:boolean;"
Функция проверяет, можно ли страну - i закрасить цветом - g[i] (Можно ли углубляться по дереву).
Перебирает все раскрашенные страны (от "1" до "i-1") и сравнивает цвета каждой из них с цветом страны "i".
"function gen(n:integer):boolean;"
Функция, определяющая возможность раскраски стран "n"-ым кол-вом цветов.
Каждому элементу массива "g" присваивает значение равное "0". Текущему номеру рассматриваемой страны "i" задает значение "1".
Повторяет действия:
Повторяет действие:
К номеру цвета рассматриваемой страны прибавить "1" ("g[i]:=g[i]+1;"), пока нельзя страну "i" раскрасить в цвет "g[i]" или цвет "i"-ой страны не больше числа "n". Если цвет "i"-ой страны больше числа "n" то: