До уваги учасників олімпіад з програмування
На класичних олімпіадах з програмування учасникам пропонується певний набір задач різного рівня складності.
Рішеннями задач є програми, написані на одній з допустимих мов програмування.
Написані учасниками програми повинні:
Рішеннями задач є програми, написані на одній з допустимих мов програмування.
Написані учасниками програми повинні:
-
коректно зчитувати будь-які вхідні дані зазначеного формату з певного вхідного потоку;
-
коректно обробляти їх згідно з умовою завдання;
-
виводити в певний вихідний потік ( на екран, у файл) у вказаному вигляді.
Для введення-виведення може використовуватися як стандартне введення інформації з клавіатури, так і зчитування вхідних даних з файлів.
Перевірка програм
Всі рішення перевіряються автоматизованої тестуючої системою. Вона запускає кожне рішення на деякому наборі тестів. Після завершення роботи програми вона звіряє вихідні дані з еталонними або виробляє більше складні дії. Остання зазвичай має місце, якщо для вхідних даних є кілька коректних висновків.
Особливості олімпіадних завдань
Особливості олімпіадних завдань
В умовах рідко ведеться мова про структури даних і алгоритми, що приводять до рішення. Найчастіше умову задачі є коротка розповідь зі своїм сюжетом, героями і конфліктом. Таким чином, щоб вирішити олімпіадних задач, потрібно не просто написати заданий алгоритм, а попередньо скласти математичну модель подій, і вже по ній відшукати цей алгоритм. Алгоритм може бути як одним з вже відомих алгоритмів, так і абсолютно новим, не схожим на інші. Сюжет умови часто завязаний на одному або декількох героях, що вступають в конфлікт один з одним або з навколишнім середовищем. Часто вони є програмістами і також поставлені перед деякої завданням. Нерідко всі завдання олімпіади пов'язані єдиною сюжетною лінією. У цьому разі сюжет олімпіади розкривається поступово від завдання до завдання.
Класифікація задач
Учасниками олімпіад та членами журі часто вводиться неофіційна класифікація завдань олімпіадного програмування. Це пов'язано з тим, що, незважаючи на відмінність сюжетів, алгоритми та структури даних, що використовуються для вирішення завдань часто схожі один на одного і їх можна розділити на кілька категорій. Категорії зазвичай носять назви класів алгоритмів або відповідних розділів математики. Необхідно відзначити, що завжди можливо придумати завдання, що не відноситься ні до однієї з категорій. Для цього вводять категорію «Різне». Крім того, одна й та ж завдання може входити відразу в кілька розділів. Навчальний матеріал можна переглянути
http://chebgym5.ru/olymp/urok22.html і розв’язання деяких олімпіадних задач
Пробна завдання
Утішне завдання
Моделювання
Теорія чисел
Комбінаторика
Теорія ймовірностей
Теорія ігор
Теорія графів
Довга арифметика
Динамічне програмування
Двійковий пошук
Жадібний алгоритм
Лінійне програмування
Структури даних
Робота з рядком
Послідовності
Повний перебір
Оптимізація
Фізика
Обчислювальна геометрія
Різне
На кожну категорію можна придумати завдання самого різного рівня складності. Тому факт віднесення завдання до однієї з категорій не може свідчити про її складності.
Пробна завдання
Утішне завдання
Моделювання
Теорія чисел
Комбінаторика
Теорія ймовірностей
Теорія ігор
Теорія графів
Довга арифметика
Динамічне програмування
Двійковий пошук
Жадібний алгоритм
Лінійне програмування
Структури даних
Робота з рядком
Послідовності
Повний перебір
Оптимізація
Фізика
Обчислювальна геометрія
Різне
На кожну категорію можна придумати завдання самого різного рівня складності. Тому факт віднесення завдання до однієї з категорій не може свідчити про її складності.
Для учнів, які цікавляться самими різноманітними змаганнями ми пропонуємо набір самих різноманітних олімпіад.
Для перших кроків у світі програмування можете використовувати http://www.problems.ru/inf/. За цим посиланням ви знайдете багато цікавого матеріалу для підготовки до олімпіади з програмування http://www.ph4s.ru/book_ab_inform.html
Для перших кроків у світі програмування можете використовувати http://www.problems.ru/inf/. За цим посиланням ви знайдете багато цікавого матеріалу для підготовки до олімпіади з програмування http://www.ph4s.ru/book_ab_inform.html