Ниже ты найдешь четыре задачи: три алгоритмические и одну творческую. Присылай нам решения до 16 августа включительно!
MARUSIA
GAME
CHALLENGE
Пример
Когда мы были детьми, то часто играли в «Крестики-нолики». Голосовые помощники тоже хотят научиться этой забаве. Помоги Марусе, которая никогда раньше не играла в «Крестики-нолики», выявить победителя. В поле для игры [N x N] определи победителя или ничью.
Входные данные: на первой строке задается размер игрового поля N. На последующих N строках задаются строки, каждая из которых содержит N значений, разделенных пробелом.
Множество значений:
x — клетка занята крестиком
0 — клетка занята ноликом
. — клетка не занята
Выходные данные:
x — победили крестики (икс)
0 — победили нолики (ноль)
x0 — ничья или результат ещё нельзя определить (икс ноль).
Ограничения: N — целое число на отрезке [0; 30]
а3
x . 0
x 0 x
0 . .
0
Входные данные:
Выходные данные:
Пример
Маруся хочет научиться играть в морской бой. Помоги ей разобраться с механикой игры и верно реагировать на ходы противника. Дано поле для игры в морской бой [9×9]. Самая первая строка — числовое обозначение столбцов. Первый символ на каждой строке — её буквенное обозначение [A-I], а дальше через пробел идет её содержимое:
_ — пустая клетка.
x — палуба корабля.
После этого на вход подается 10 обозначений клеток, каждое на отдельной строке. В ответ ожидается результат в виде: «Попал!» или «Промах!».
Промах!
Попал!
Промах!
Промах!
Попал!
Промах!
Попал!
Попал!
Попал!
Попал!
Входные данные:
Выходные данные:
Пример
Помоги Марусе вывести Дашу Путешественницу из подземелья. Дано квадратное поле [N x N] заданной величины (N находится в диапазоне [10; 100]). Поле — подземелье с коридором, который ведет к выходу. Даша находится в начале коридора, а голосовой помощник помогает ей выбраться из подземелья. Выход находится в конце коридора на границе карты.
На первой строке программа принимает на вход размер подземелья — N, затем представление самого подземелья через пробел:
_ — стены подземелья.
х — местонахождение Даши.
. — продолжение коридора.
Указания — следующие слова:
Наверх!
Направо!
Вниз!
Налево!
Вниз!
Вниз!
Вниз!
Вниз!
Вниз!
Направо!
Направо!
Направо!
Вверх!
Вверх!
Вверх!
Направо!
Направо!
Направо!
Вверх!
Вверх!
Направо!
Направо!
Входные данные:
Выходные данные:
Три задачи на алгоритмы
Придумай и реализуй оригинальную игру, желательно — образовательную. Она должна основываться на взаимодействии игрока с управляющим чат-ботом (гейм-мастером) и/или другими пользователями с помощью голоса. Игра должна быть такой, чтобы в нее можно было играть с помощью голосового помощника Маруси.

Примеры похожих игр: города, шахматы вслепую, морской бой, текстовые ретро-игры, например, текстовая квест-стратегия Zork.
Творческая задача-кейс
1. Решение трех алгоритмических задач. Мы предлагаем использовать для них Python, С или С++ со стандартной библиотекой. Решения должны принимать входные данные (stdin) в соответствии с условием задачи сразу после запуска и выдавать ответ (stdout). Обязательно сохрани каждый ответ в отдельном файле. Названия документов будут зависеть от языка программирования и именоваться «task1.c», «task2.cpp» и «task3.py». Мы проверим решение с помощью интерпретатора Python 3.8 и компиляторов gcc или g++.

2. Презентацию с решением творческой задачи в формате PDF с описанием идеи и процесса ее реализации.

3. Видео до трех минут с демонстрацией игрового процесса и возможностей игры. Выложи его в облако (Облако Mail.ru, Google Drive или Яндекс. Диск), разреши к нему доступ по ссылке и добавь ссылку в текст письма. Также мы принимаем решения, которые опубликованы на видеохостингах — например, на YouTube. Назови видео в формате: Marusia-Challenge-Иванов-Иван.

4. Исходный код с инструкцией по его сборке (можно в качестве ссылки на Git-репозиторий).

5. Ссылку на веб-приложение, сервис или приложение в мессенджере или социальной сети, если программа реализована там (опционально).

Объедини решение трех первых задач, презентацию в формате PDF и исходный код в Zip- или Rar-архив. Если вместо кода ты вставишь Git-репозиторий, добавь в архив Readme проекта и ссылку на проект на одном из популярных git-хостингов. Назови архив в формате: Иванов-Иван-2020−07−27.zip.
Если времени осталось мало и ты не уверен в своих решениях, все равно пришли их нам с небольшим описанием и видео. Возможно, именно твоя идея однажды станет частью популярного голосового помощника.
Мы ждем от тебя
Требования к решению:
1. Финальный проект должен содержать информацию о его авторе и логотип соревнования на видном месте. Его ты можешь скачать здесь.

2. Подойдет решение, где взаимодействие с игроком реализовано как текстовый чат, но лучше реализовать взаимодействие с игрой голосом.
1. Оригинальность идеи.
2. Качество описания игровой механики.
3. Качество описания принципа работы программы.
4. Качество презентации идеи (слайды и видео).
5. Работоспособность технического решения.
6. Применимость игры для Маруси.
7. Возможность расширять и масштабировать функциональности прототипа.
Критерии оценки решения творческой задачи
1. Титульный слайд с названием проекта и резюме участника.
2. Суть игры и почему вы выбрали именно ее.
3. Описание механики игры.
4. Описание архитектуры решения.
5. Обоснование технических решений.
6. Приложения:
— Технические детали.
— Скрины работающего прототипа.
— Ссылки на видео с демонстрацией работы прототипа и/или на файл для тестирования прототипа.
Примерное содержание презентации
Высылай готовые задания на почту до 16 августа включительно: marusia.game.challenge@mail.ru

Укажи тему письма в формате: Marusia-Иванов-Иван-2020-07-27.