Завдання
Кожній задачі відповідатиме окрема тема. Умова задачі - перше повідомлення теми
Надсилання розв’язків
Розв’язком вважається текст програми, написаний на одній з дозволених мов програмування (Pascal) , який у подальшому можна відкомпілювати відповідним компілятором та перевірити на всіх тестах.
Якщо Ви написали розв’язок – необхідно відправити його на перевірку.
Всі розвязки необхідно відсилати на пошту acm@ftl.org.ua
Тема листа - назва задачі.
Текст листа - прізвище, ім'я та група учасника
Код програми - в долученні до листа, файл з розширенням *pas
Приклади розв’язків.
Умова: програма зчитує двоцифрове число і виводить через пробіл кожну цифру окремо.
Приклад розв’язку на мові програмування Pascal:
Code
var
a,b,c:integer;
begin
read(a);
b := a div 10;
c := a mod 10;
writeln(b,' ',c);
end.
Перевірка розв’язків
Компілятори
Для компілювання Ваших розв’язків використовуються наступні компілятори:
Pascal: Delphi7, консольний режим. Процес компілювання відбувається наступним чином: Dcc32.exe source.pas.
Автоматичне тестування Тестування відбувається в автоматичному режимі. Після отримання Вашого розв’язку, він компілюється у виконуваний файл. Потім отримана програма запускається на кожному тесті. На вхід даються відповідні вхідні дані, а програма повинна повернути результат, який порівнюється із еталонним. Якщо результати співпали і програма вклалася у відповідні обмеження, тоді цей тест зарахований і тестування продовжується на наступному тесті. Розв’язок вважається правильним, якщо всі тести зараховано.
Введення / виведення
Процеси введення / виведення відбуваються лише з екраном та клавіатурою. Потрібно виводити тільки ту інформацію, що вказана в умові і ніяких допоміжних символів, бо це призведе, до того, що Ваш розв’язок буде вважатися невірним. Програма після виведення результатів має завершувати свою роботу, а не чекати ще на якесь додаткове натиснення клавіш. Використовувати якісь файли категорично забороняється.
Обмеження
Для знаходження розв’язку на кожному тесті окремо задаються обмеження по часу та пам’яті.
Розмір тексту розв’язку
Текст розв’язку до будь-якої задачі обмежується по розміру до 65535 байт. В іншому випадку система прийме лише перших 64Кб і Ви, швидше за все, отримаєте помилку компіляції.
Помилки, які розпізнає система:
Помилка компіляції (Compilation Error, CE) - Допущена синтаксична помилка в тексті алгоритму і система не змогла скомпілювати ваш розв'язок. Або Ваш розв’язок не відповідає стандарту компілятора, який використовується у нашій системі.
Помилка часу виконання (Runtime Error, RE) - Під час виконання алгоритму відбулася критична помилка, при якій подальше виконання неможливе. Типові помилки: ділення на 0 (нуль), доступ до неіснуючого елементу у масиві. Також можлива ця помилка у випадку, якщо код завершення програми не дорівнює нулю.
Невірна відповідь (Wrong Answer, WA) - Ваш алгоритм хоча б на одному з тестів подав неправильну відповідь, або формат виведення не відповідає умові.
Ліміт часу (Time limit, TL) - Ваш алгоритм не вклався у відведений для знаходження відповіді час. Цей ліміт подається в умові задачі і рахується для кожного тесту окремо. Час виконання програми – це загальний час від моменту запуску програми і аж до її повного завершення.
Ліміт пам'яті (Memory limit, ML) - Ваш алгоритм використовує більше пам'яті, ніж було для цього відведено.
Ліміт виведення (Output limit, OL) - Результат роботи вашого розв'язку, крім того що є неправильним, є занадто великим по розміру. Відведений об'єм результату не подається, але він завжди більший очікуваного результату.
Заборонена функція (DF) - При створенні алгоритму Ви використали функцію, яка є забороненою. Забороняється використовувати додаткові модулі, бібліотеки, експортувати зовнішні функції, використовувати ассемблерні вставки, користуватися файлами (якщо інше не зазначено в умові), викликати функції операційної системи. Якщо це буде повторюватись досить часто - Вас буде дискваліфіковано за порушення правил. Якщо Ви сумніваєтесь у тому, чи ви не використали якусь заборонену функцію, то можете спробувати «лише перший тест».
Результати
Зарахованою вважається задача яка пройшла всі тести.
Переможцем вважається людина, яка здала здачу з меншої к-ті спроб.
За умови рівної к-ті спроб, той хто здав швидше. Використано матеріали сайту: http://acm.lviv.ua