Для того чтобы определить название вещи, с которой Никита начал строить дерево вариантов (то есть корень дерева), нужно найти вершину, у которой нет родителя. В дереве это обычно вершина, у которой имя или номер не присвоено как ребёнок другой вершины — то есть она является начальной точкой, корнем.
Что нужно делать по условию:
- Имеется граф (или дерево), состоящий из N предметов.
- Каждая вещь обозначена номером (или названием).
- Для каждой вещи указано, кто её родитель (если есть). Для корня родитель обычно не указан или указан как отсутствующий.
Шаги решения:
- Найти все предметы.
- Найти тот предмет, у которого не указан родитель, либо он не входит в список детей ни для одного другого предмета.
- Название этого предмета — и есть начальная вещь, с которой начинается построение дерева.
Примерное решение (на основе предположений):
Данные:
- Количество предметов — N
- Таблица с номерами предметов и номерами их родителей. В таблице для каждого предмета указана его уникальная нумерация и номер родителя.
Общая идея:
- Создаем список всех предметов.
- Создаем множество или список детей.
- Посредством прохода по таблице заполняем множество детей.
- В конце ищем предмет, который не входит в множество детей, это и есть корень.
Пошаговый пример:
Допустим, у нас есть такие данные:
| Предмет | Родитель |
|---|---|
| 1 | 0 (или нет родителя) |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 2 |
Здесь предметы 1 — это корень, поскольку у него нет родителей.
Ответ: название или номер предмета 1.
Итог:
Если у вас есть конкретные данные (числа или названия), пришлите их, я помогу найти начальную вещь (корень дерева).
Если потребуется — я подготовлю код или более конкретное решение, основываясь на ваших данных!