Олимпиадное программирование: задачи, алгоритмы, конкурсы. Действует
рейтинговая система.
Статистика
-1 за неделю
Олимпиадные задачи и алгоритмы на C++
Информационный Канал Subscribe.Ru Олимпиадные задачи и алгоритмы на C+ Олимпиадные задачи и алгоритмы на C+ Наибольший общий делитель Постановка задачи Пусть даны два целых положительных числа a и b. Целое число c называется их общим делителем, если оба числа a и b делятся на c без остатка (a%c=0, b%c=0. Наибольший общий делитель - это максимальный из общих делителей двух чисел. Задача: научиться быстро искать наибольший общий делитель. Замечание. По-английски наибольший общий делитель называется greatest ...
Олимпиадные задачи и алгоритмы на C++
Информационный Канал Subscribe.Ru Олимпиадные задачи и алгоритмы на C+ Здравствуйте, уважаемые подписчики. На сайте accepted.narod.ru выложена программа , с помощью которой вы можете проверить свой модуль для игры "Морской бой. Для этого достаточно заменить в строке #include <file.cpp>" имя файла file.cpp на имя вашего модуля и откомпилировать. Если все пройдет успешно, то программа выведет, кто победил, и создаст файл gamelog.txt с логом игры. Данная программа не проверяет, укладывается ли ваш модул...
Олимпиадные задачи и алгоритмы на C++
Информационный Канал Subscribe.Ru Олимпиадные задачи и алгоритмы на C+ Здравствуйте, уважаемые подписчики. В этом выпуске: Решение к задаче No7 "Манхеттен" Результаты тестирования по задаче No7 Решение к задаче No8 "Морской бой" Результаты тестирования по задаче No8 Решение задачи No7 "Манхеттен" (5 баллов. Очевидно, что задачу минимизации заданной суммы можно свести к двум подзадачам: для x и для y. Рассмотрим одномерную задачу для x. По заданным x 1 , x 2 , , x n найти x, такое что s(x) = |x - x 1 | + |x...
Олимпиадные задачи и алгоритмы на C++
Информационный Канал Subscribe.Ru Олимпиадные задачи и алгоритмы на C+ Здравствуйте, уважаемые подписчики. В этом выпуске вновь нет теории, зато есть одна нестандартная и интересная задача. Задача. Задача - написать программу, которая играет в игру "Морской бой. Правила этой игры были описаны в условии задачи No8. Напомню их. В игру "Морской бой" играют два человека. В начале игры каждый чертит на клеточном листе бумаги свое поле - квадрат с длиной стороны 10 клеток. Строки квадрата обозначаются латинскими...
Олимпиадные задачи и алгоритмы на C++
Информационный Канал Subscribe.Ru Олимпиадные задачи и алгоритмы на C+ Здравствуйте, уважаемые подписчики. В этом выпуске: Решение к задаче No5 "Лабиринт с минами" Результаты тестирования по задаче No5 Решение к задаче No6 "Бактерии" Результаты тестирования по задаче No6 Решение задачи No5 "Лабиринт с минами" (7 баллов. Решение основано, как вы догадались, на волне. В описанный ранее алгоритм необходимо добавить вычисление для каждой клетки количества кратчайших путей до нее и количества безопасных кратчай...
Олимпиадные задачи и алгоритмы на C++
Информационный Канал Subscribe.Ru Олимпиадные задачи и алгоритмы на C+ Здравствуйте, уважаемые подписчики. В этом выпуске две новые задачки: Манхеттен Морской бой Задача No7 "Манхеттен" (5 баллов. Входной файл: input.txt Выходной файл: output.txt Ограничение по времени: 1 сек. на тест Ограничение по памяти: 1 Mb Условие На плоскости задано n точек. Расстояние между точками (x 1 , y 1 ) и (x 2 , y 2 ) будет вычислять как сумму модулей разностей их координат: r = |x 1 - x 2 | + |y 1 - y 2 . Найти точку, сумм...
Олимпиадные задачи и алгоритмы на C++
Информационный Канал Subscribe.Ru Олимпиадные задачи и алгоритмы на C+ Здравствуйте, уважаемые подписчики. В этом выпуске: Решение к задаче No3 "Префикс-подстрока" Результаты тестирования по задаче No3 Решение к задаче No4 "Палиндром" Результаты тестирования по задаче No4 Решение задачи No3 "Префикс-подстрока" (5 баллов. У этой задачи есть как минимум два возможных решения. Первое решение является более простым с "идейной" точки зрения. Оно заключается в двоичном поиске искомой длины префикса. Если для про...
Олимпиадные задачи и алгоритмы на C++
Информационный Канал Subscribe.Ru Олимпиадные задачи и алгоритмы на C+ Здравствуйте, уважаемые подписчики. В этом выпуске: Алгоритм поиска в ширину Задача No5 "Лабиринт с минами" Задача No6 "Бактерии" Поиск в ширину на примере задачи о лабиринте. Постановка задачи. Лабиринт задан таблицей n*m из символов. Символ ' - означает стену, ' - пустое пространство, 's' - начальную позицию, 'f' - конечную позицию. Игрок может находиться только в пустых клетках. Из клетки он может перемещаться в соседнюю по горизонта...
Олимпиадные задачи и алгоритмы на C++
Информационный Канал Subscribe.Ru Олимпиадные задачи и алгоритмы на C+ Здравствуйте, уважаемые подписчики. К сожалению, размер аудитории нашей рассылки пока еще очень невелик. Свои решения к задачам No1 и No2 прислал лишь один наш подписчик. Оба решения верные, с чем можно его поздравить! Решение задачи No1 "Сумма чисел" (3 балла. Задача на знание языка C. Единственный подводный камень - возможное переполнение переменной, в которой хранится сумма, если она имеет тип short. Текст программы: #include <std...
Олимпиадные задачи и алгоритмы на C++ Олимпиадные задачи и алгоритмы на C++
Информационный Канал Subscribe.Ru Олимпиадные задачи и алгоритмы на C+ Здравствуйте, уважаемые подписчики. В этом выпуске: описание алгоритма КМП-поиска и две новые задачи. Поиск подстроки в строке. Алгоритм Кнута-Морриса-Пратта. Постановка задачи. Даны две строки A[1.n] и B[1.m. Требуется определить, является ли строка B подстрокой строки A. Если является, то найти все позиции ее вхождения в A. Например, для A"abcadababcabca" и B"abca" имеем следующие позиции вхождения B в A: 1 ( abca dababcabca, 8 (abcad...
- 1
- 2