Задача заключается в построении графа-описания схемы боя: 3 мушкетёра против 6 гвардейцев (вдвое больше). По условиям
- Athos сражается с 1 гвардейцем
- Portos — с 3 гвардейцами
- Aramis — с оставшимися 2 гвардейцами
Поэтому граф будет двудольным (мушки и гвардейцы) с соответствующим числом ребер.
Что именно будем строить
- Левое множество вершин: Мушкетёры = {Athos, Portos, Aramis}
- Правое множество вершин: Гвардейцы = {G1, G2, G3, G4, G5, G6}
- Ребра соединяют мушкетёров с теми гвардейцами, с кем они борются:
- Athos — с G1
- Portos — с G2, G3, G4
- Aramis — с G5, G6
ASCII-рисунок графа Мушкетёры Гвардейцы Athos ---- G1 Portos ---- G2 Portos ---- G3 Portos ---- G4 Aramis ---- G5 Aramis ---- G6
Граф можно представить и в виде списка соседей:
- Athos: {G1}
- Portos: {G2, G3, G4}
- Aramis: {G5, G6}
- G1: {Athos}
- G2: {Portos}
- G3: {Portos}
- G4: {Portos}
- G5: {Aramis}
- G6: {Aramis}
Уточнение: это один из множества возможных вариантов распределения. Любые замены номеров гвардейцев (например Athos может сразиться с G4 вместо G1 и т. д.) приводят к эквивалентной схеме.
Фактический чертёж графа в формате Graphviz (DOT) Если хотите получить аккуратное изображение графа в графическом редакторе, можно использовать следующий DOT-код:
digraph battle { node [shape=ellipse, fontsize=12]; Athos [label="Athos"]; Portos [label="Portos"]; Aramis [label="Aramis"]; G1 [label="G1"]; G2 [label="G2"]; G3 [label="G3"]; G4 [label="G4"]; G5 [label="G5"]; G6 [label="G6"];
Athos -> G1; Portos -> G2; Portos -> G3; Portos -> G4; Aramis -> G5; Aramis -> G6; }
Как использовать
- Вставьте этот код в любой инструмент Graphviz (например, webgraphviz.com), получите визуальное изображение графа.
- При желании можно изменить названия вершин (например заменить G1..G6 на конкретные имена гвардейцев) и получить персональную схему.
Краткое объяснение подхода
- Поскольку численность гвардейцев вдвое больше, чем мушкетёров (6 против 3), распределение боёв задаётся как: Athos − 1, Portos − 3, Aramis − 2.
- Граф здесь является двудольным. Ребра показывают, какие конкретно противники находятся под управлением каждого мушкетёра.
- Это простая модель соприкосновений и её легко расширить: можно менять распределение боёв, добавлять или удалять вершин, сохраняя идею bipartite графа.
Если хотите, могу привести ещё одну версию графа с другим распределением номеров гвардейцев или сделать компактное графическое изображение.