Компьютерная сеть состоит из связанных между собой двусторонними каналами связи N компьютеров, номера которых от 1 до N. Эта сеть предназначена для распространения сообщения от центрального компьютера всем остальным. Компьютер, получивший сообщение, владеет им и может распространять его дальше по сети. Запрещается передавать сообщение на один и тот же компьютер дважды. Время передачи сообщения по каналу связи занимает одну секунду, при этом передающий и принимающий компьютеры заняты на все время передачи данного сообщения. На рис.1 приведен возможный вариант такой сети.
В начальный момент времени центральный компьютер может передать сообщение одному из непосредственно связанных с ним компьютеров, т.е. соседу. После окончания передачи этим сообщением будут владеть оба компьютера. Каждый из них может передать сообщение одному из своих соседей и так далее, пока все компьютеры не будут владеть сообщением.
Для сети, показанной на рис.1, возможный порядок распространения сообщения от центрального компьютера с номером 6 приведен в примере 1.
ПРИМЕР 1:
Секунда 1: 6=>4
Секунда 2: 4=>3
6=>7
Секунда 3: 3=>1
4=>5
Секунда 4: 3=>2
Написать программу, которая:
ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ
| строка 1: | число компьютеров в сети (N); |
| строка 2: | список всех соседей компьютера 2 (представляется набором чисел, разделенных пробелами); |
| строка 3: | список всех соседей компьютера 2; |
| ... | ... |
| строка N+1: | список всех соседей компьютера N; |
| строка N+2: | номер центрального компьютера. |
Так, приведенная на рис.1 сеть может быть представлена следующим образом:
7 2 3 1 3 1 4 2 6 5 3 4 7 4 6 6
РАЗБАЛЛОВКА
| Организация диалога с пользователем | 5 баллов | |
| Пункт А | 25 баллов | |
| Пункт Б | 25 баллов | |
| Пункт В | 30 баллов | |
| Выполнение технических требований | 15 баллов |
| 1. Организация диалога с пользователем | 2 балла | |
| 2. Полное решение | 33 балла | |
| Частные решения: | ||
| - не используется '/' | 28 баллов | |
| - не используется '*', '/' | 10 баллов | |
| - не используются скобки | 11 баллов | |
| - не используется скобки и '/' | 10 баллов | |
| - не используется скобки, '*' и '/' | 5 баллов | |
| 3. Удаление из выражения лишних скобок | 5 баллов |
Задача
"ТРАНСИМЕДЖИНАРИЗАТОР" |
Существуют 2 основные формы информационных описаний - текстовая и графическая
Текстовым представлением оператора присваивания будем считать запись вида
Здесь < Формула> состоит из целых десятичных констант, имен переменных, имен произвольных функций одного аргумента, а также знаков арифметических операций ('+', '-', '*', '/') и круглых скобок. Ограничимся случаем, когда имена функций, переменных и константы - только односимвольные.
Графическим представлением оператора присваивания будем считать схему, состоящую из элементов вида:
и соединяющих их линий. Количество "входов" у элемента равно количеству аргументов соответствующей операции или функции, < Имя> - знак арифметической операции или имя функции.
ПРИМЕР. Оператору присваивания "a:=S((b+c)*(d+e))" можно сопоставить такую схему:
ТРЕБУЕТСЯ
Разработать диалоговую программную среду для преобразования вводимых с клавиатуры текстовых представлений операторов присваивания в графические, отображаемые на экране монитора.
- удобный ввод;
- удобную диагностику ошибок с
возможностью их оперативного исправления;
- композиционное и
цифровое оформление выводимой на экран информации;
- наличие
на экране необходимых для работы подсказок.
| Программа, выдающая схему: | ||
| - для произвольного оператора присваивания | 25 баллов | |
| - только при ограничении из примечания 3 | 20 баллов | |
| Диагностика ошибочного вывода | 10 баллов | |
| Интерфейс | 5 баллов |
Дополнительные баллы жюри за задачи второго тура: 20 баллов
Максимальная оценка за второй тур: 100 баллов