Перевод задания BSQ

Глава II
Тема
Самый большой квадрат:
◦ Цель этого проекта - найти самый большой квадрат на карте, избегая препятствий.
◦ Вам будет предоставлен файл, содержащий карту. Он должен быть принят вашей программой как аргумент.
◦ Первая строка карты содержит информацию о том, как читать карту :
Количество линий на карте;
Символ ”пустоты";
Символ "препятствия";
Символ “залит”.
◦ Карта состоит из символов "пустоты", линий и символов "препятствий".
◦ Цель программы - заменить символы "пустоты" на “залитые” символы для того, чтобы представить самый большой квадрат.
◦ В случае, если существует более одного решения, мы выбираем сначала тот квадрат, что ближе к верхнему, затем тот, что ближе к левому краю карты.
Критерии валидности карты:
◦ Все линии карты должны иметь одинаковую длину.
◦ Хотя бы одна линия должна содержать хотя бы одну клетку.
◦ Каждая линия оканчивается переносом строки.
◦ Символы на карте могут быть только теми, что предоставлены в первой строке.
◦ В случае невалидности карты, ваша программа должна вывести "map error" в выводе ошибок с последующим переносом строки. Затем ваша программа перейдет к следующей карте.
Вот пример того, как это должно работать :
%>cat example_file
9.ox
...........................
....o......................
............o..............
...........................
....o......................
...............o...........
...........................
......o..............o.....
..o.......o................
%>./bsq example_file
.....xxxxxxx...............
....oxxxxxxx...............
.....xxxxxxxo..............
.....xxxxxxx...............
....oxxxxxxx...............
.....xxxxxxx...o...........
.....xxxxxxx...............
......o..............o.....
..o.......o................
%>
Глава III
Инструкции
Исполняемый файл должен называться bsq и находиться в основном каталоге.
Вы должны уважать Norm.
Вы можете использовать только методы, изученные во время бассейна.
Отправляемый каталог должен иметь файл авторов, содержащий ваши логины:
$>cat auteur
login_1:login_2
$>
Ваша программа должна обрабатывать от 1 до n файлов в качестве параметров.
Когда программа получает более одной карты в аргументе, каждое решение или ошибка должны оканчиваться переносом строки.
Если переданные аргументы отсутствуют, ваша программа должна начать читать в стандартном вводе.
У вас должен быть работающий Makefile, который скомпилирует ваш проект.
Вы можете использовать только следующие функции : exit, open, close, write, read, malloc и free.
Вы можете задавать вопросы на форуме.
Глава IV
Оценка
Информация по оценке BSQ :
◦ Мы начнем с тестирования las funcionalidades (10 баллов). Ваша программа должна работать.
° Если вы получите все эти 10 баллов, мы проверим оптимизацию вашего кода. Здесь будут оцениваться две вещи : скорость выполнения (5 баллов) и использование памяти (5 баллов).
Эти два аспекта будут проверены только в том случае, если первая часть будет утверждена.
Все BSQ, которые прошли первую часть этой оценки, будут соревноваться в двух тестах оптимизации.
Лучший BSQ будет вознагражден всеми баллами оптимизации.
Другие BSQ получат дополнительные очки в зависимости от того, как они раюботают : чем быстрее выполнение и/или чем меньше

используется памяти, тем больше балов; чем медленнее выполнение и/или чем больше используемой памяти, тем меньше баллов они
получат.
TL;DR: только одна группа должна получить все 20 баллов. Вы будете рассортированы в зависимости от уровня вашего BSQ по сравнению с
другими BSQ.
Удачи вам всем!

Комментарии

Популярные сообщения из этого блога

Проверка кода C online

Пример правильного оформленя кода C по нормам школы 21