"""
Скрипт создания шаблона папок для ДЗ по ЕГЭ Информатика
Запусти один раз — получишь готовую структуру для всех 27 заданий.
"""

import os

TASKS = [
    ("N01", "графы_деревья_таблицы"),
    ("N02", "логические_схемы"),
    ("N03", "базы_данных_поиск"),
    ("N04", "кодирование"),
    ("N05", "исполнители_алгоритмы"),
    ("N06", "исполнители_результат"),
    ("N07", "объем_информации"),
    ("N08", "системы_счисления_комбинаторика"),
    ("N09", "электронные_таблицы"),
    ("N10", "поиск_в_тексте"),
    ("N11", "объем_кодирования"),
    ("N12", "исполнители_сложные"),
    ("N13", "сети_ip_адреса"),
    ("N14", "основы_программирования"),
    ("N15", "логика_сложная"),
    ("N16", "программирование_средний"),
    ("N17", "рекурсия"),
    ("N18", "графы_информационные"),
    ("N19", "базы_данных_сложные"),
    ("N20", "таблицы_диаграммы"),
    ("N21", "двоичное_дерево"),
    ("N22", "обработка_чисел"),
    ("N23", "массивы"),
    ("N24", "программа_часть2_базовый"),
    ("N25", "программа_часть2_средний"),
    ("N26", "программа_часть2_высокий_1"),
    ("N27", "анализ_данных_pandas"),
]

ROOT = "ЕГЭ_Информатика_ДЗ"

README_TEMPLATE = """# {num} — {topic}

## Задание

> Вставь сюда условие задачи (скопируй из варианта или запиши своими словами)

## Решение

Код в файле `solution.py`

## Ответ

```
(напиши итоговый ответ здесь)
```

## Заметки

- Что было сложно?
- Какой метод использовал?
"""

SOLUTION_TEMPLATE = """# {num} — {topic}
# Автор: (твоё имя)
# Дата: (дата выполнения)

# ── Условие ─────────────────────────────────────────────────────────
# Вставь сюда краткое условие задачи

# ── Решение ──────────────────────────────────────────────────────────


"""


def create_structure():
    os.makedirs(ROOT, exist_ok=True)

    # Главный README
    with open(os.path.join(ROOT, "README.md"), "w", encoding="utf-8") as f:
        f.write(f"# ЕГЭ Информатика — Домашние задания\n\n")
        f.write("## Структура\n\n")
        for num, topic in TASKS:
            f.write(f"- `{num}_{topic}/` — Задание {num[1:].lstrip('0')}\n")
        f.write("\n## Как работать\n\n")
        f.write("1. Открой папку нужного задания\n")
        f.write("2. Прочитай `README.md` внутри — там поле для условия и заметок\n")
        f.write("3. Пиши решение в `solution.py`\n")
        f.write("4. Заполни поле **Ответ** в README\n")

    # Папки для каждого задания
    for num, topic in TASKS:
        folder = os.path.join(ROOT, f"{num}_{topic}")
        os.makedirs(folder, exist_ok=True)

        # solution.py
        with open(os.path.join(folder, "solution.py"), "w", encoding="utf-8") as f:
            f.write(SOLUTION_TEMPLATE.format(num=num, topic=topic))

        # README.md
        with open(os.path.join(folder, "README.md"), "w", encoding="utf-8") as f:
            f.write(README_TEMPLATE.format(num=num, topic=topic))

    print(f"✅ Шаблон создан: папка '{ROOT}' с {len(TASKS)} заданиями")
    print(f"   Открой папку и начинай работать!")


if __name__ == "__main__":
    create_structure()
