Формат выходных данных

Как выглядит олимпиадная задача по информатике

Рассмотрим задачи, которые будут представлены участникам на пробном туре олимпиады. Это две задачи — «Сумма чисел» и «Переворот последовательности».

Задача A. Сумма чисел

Ограничение по времени: 1 секунда
Ограничение по памяти: 64 мегабайта

Егор вернулся из школы в печальном настроении: сегодня ему задали большое домашнее задание на зимние каникулы. Домашнее задание состоит из 80 примеров на сложение в столбик. К счастью, Егору разрешили пользоваться любыми электронными устройствами (чего, например, не допускают правила этой олимпиады), а значит он может написать программу, которая будет складывать числа за него.

Напишите программу, которая поможет Егору решить его домашнюю работу: будет складывать два числа с клавиатуры и находить их сумму.

Формат входных данных

С клавиатуры вводятся два целых числа A и B (-30 000 ≤ A, B ≤ 30 000).

Формат выходных данных

Программа должна вывести на экран результат сложения — сумму чисел A и B.

Входные данные Выходные данные
3 5  

Задача B. Переворот последовательности

Ограничение по времени: 1 секунда
Ограничение по памяти: 64 мегабайта

Дана последовательность из n чисел a1, a2, a3, …, aN. Требуется написать программу, которая выведет её в обратном порядке.

Формат входных данных

В первой строке с клавиатуры вводится натуральное число n (1 ≤ n ≤ 30 000).

Во второй строке через пробел вводятся n целых чисел a1, a2, a3, …, aN (-109 ai ≤ 109).

Формат выходных данных

Программа должна вывести на экран исходную последовательность в обратном порядке.

Входные данные Выходные данные
5 1 -3 5 17 0 0 17 5 -3 1

Условие олимпиадной задачи состоит из нескольких частей. Сначала написана «легенда» — условие задачи. Это — довольно важная часть задачи по информатике — умение по легенде составить модель задачи и придумать алгоритм ее решения. На олимпиадах перед легендой идут ограничения, в которые должно укладываться решение задачи — ограничение по времени работы программы на одном тесте (как правило — 1-2 секунды) и ограничение по используемой памяти (как правило — 64-256 мегабайт). Также если предусматривается файловый ввод-вывод, то в начале условия записываются имена файлов.

Легенда отвечает на самый важный вопрос — «Что именно должна делать программа, которая является решением задачи?».

Далее идет часть, в котором описываются входные данные к задаче. В этом примере входными данными является одно целое число. В описании формата входных данных указываются ограничения на эти данные. В первой задаче сказано, что входное число является целым, и оно не больше 30 000 и не меньше -30 000. Ограничения на входные данные даются для того, чтобы участники олимпиады понимали, какие типы данных использовать для хранения чисел (например, если входное число может быть до 106, то для его представления понадобится 32-битный целочисленный тип, например, тип smallint для языка Паскаль не подойдет).

В следующей части описываются требования к тому, что должна вывести программа. В нашем случае программа выводит одно число — сумму чисел A и B.

Проверка программ на олимпиадах по информатике проводится с использованием автоматической тестирующей системы. В условиях этой задачи, например, программа должна давать правильный ответ на тестах «3 5», «-30000 -30000», «30000 30000» и «0 0». При этом вывод программы должен соответствовать в точности описанию формата выходных данных, то есть программа должна вывести только одно целое число. Для облегчения понимания, что должна выводить программа, в конце условия даются примеры того, что должна выводить программа при одном или нескольких вариантах входных данных.

Проверка заключается в том, что программа несколько раз запускается тестирующей системой и ей на вход подается заранее подготовленный жюри набор входных данных. Программа должна считать эти данные, решить задачу и вывести ответ. Ответ сверяется с правильным ответом, если ответ совпадает с правильным (или с одним из нескольких возможных правильных ответов, как это бывает в некоторых задачах), то тест засчитывается, как успешно пройденный. Если программа проходит все тесты (на всех тестах выдает правильный ответ), то задача считается верно решенной и получает полный балл, если не на всех тестах — то задача считается частично решенной и получает частичный балл в зависимости от количества пройденных тестов. Все это происходит в автоматическом режиме без участия человека, члены жюри только наблюдают за процессом проверки.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: