Олимпиада

 Муниципальный уровень 2011/2012уч.г.
Волшебный мешок 
У Деда Мороза есть волшебный мешок. Если его тряхнуть, когда в нем лежит один подарок, то там окажется три подарка. Если его тряхнуть, когда в нем лежит два подарка, то там окажется четыре подарка. Если тряхнуть, когда в нем 2008 подарков, их там станет 2009. Если его тряхнуть, когда в нем не 1, не 2, и не 2008 подарков, то количество подарков не изменится.
Подарки можно доставать из мешка и класть рядом с мешком, а также помещать обратно в мешок в любой момент. Изначально у Деда Мороза A подарков. Может ли он получить ровно B подарков? Если да, то за какое минимальное количество встряхиваний мешка?
Входные данные. В первой строке содержатся два целых A и B (1<=A, B<=10 9)
Выходные данные. Выведите единственное число - минимальное количество встряхиваний, которое должен сделать  Дед Мороз, чтобы получить из A подарков B подарков. Если это сделать невозможно, вывести -1.
 Муниципальный уровень 2009/2010, 2010/2011 уч.г.
Разноцветные мячи
В магазине товаров продаются мячи, каждый мяч закрашен в один из десяти цветов. Мячи расположены на витрине по M штук на каждой полке. Всего в витрине N полок с номерами от 1 до N. Требуется определить полку, содержащую наибольшее количество мячей разных цветов. Если вариантов, удовлетворяющих условию, несколько, то выбрать полку с минимальным номером.
Входные данные: Первая строка содержит два целых числа N и M, разделенных пробелом. Далее следует N строк, содержащих M целых чисел, разделенных пробелом. Каждое i-ое число в j-ой строке имеет значение в диапазоне от 1 до 10 включительно и обозначает номер цвета, в который окрашен мяч с номером i, расположенный на полке с номером j.
Выходные данные: Одно целое число - номер полки.
Ограничения: 1<=N,N<=50


Прямоугольное рисование.
Петя решил порисовать и закрасил на чистом тетрадном листе в клетку некоторые строки и столбцы. Потом Пете стало интересно, сколько не закрашенных клеток осталось на листе. Помогите Пете решить эту задачу.
Входные данные: первая строка содержит четыре числа N, M, R, C, разделенных пробелом., где
N - количество строк на листе,
M - количество столбцов на листе,
R - количество закрашенных строк,
C - количество закрашенных столбцов.
Вторая строка содержит R чисел из диапазона от 1 до N включительно, разделенных пробелами, - номера закрашенных строк.
Третья строка содержит C числе из диапазона от 1 до  M включительно, разделенных пробелами, - номера закрашенных столбцов.
Выходные данные: одно число - количество незакрашенных  клеток.
Ограничения: 1<=N,M<=50, 1<=R<=N, 1<=C<=M

Средняя скорость.
Сереже купили новый велосипед со спидометром, и он сразу решил его опробовать. Накатавшись на велосипеде, Сережа заинтересовался, с какой скоростью он ездил. Но он не запомнил ни продолжительность поездки, ни расстояния, которое он проехал. Однако заметил, что весь его путь можно разделить на N частей, равных по расстоянию, каждую из которых он двигался с определенной постоянной скоростью. Помогите Сереже узнать, с какой средней скоростью он ездил.
Входные данные: первая строка содержит одно целое число n. Вторая строка содержит целых N чисел, разделенных пробелами- скорость, с которой ехал Сережа на соответствующем участке своего пути.
Выходные данные: единственное число - количество найденных пар.
Ограничения: 1<=N<=100. Скорость на любом участке находится в диапазоне от 1 до 1000 включительно.

  ЗаборУ плотника имеется N досок одинаковой длины L. Ему требуется сделать забор, для этого ему необходимо С досок длины M. ваша задача определить, можно ли из заданного набора N досок получить не меньше C досок длины M. исходные доски разрешается только разрезать, склеивать доски нельзя.
Входные данные: в первой строке записаны четыре целых числа N, L, C, M.
Выходные данные: если можно получить C досок, то вывести "yes" иначе "NO".
Ограничения 1<=N,C,L.M<=103

 Выпуклые многоугольники
Даны  два выпуклых многоугольника. Какой минимальный периметр может иметь фигура, образованная соприкосновением данных многоугольников сторонами без их наложения друг на друга?
Входные данные: N и M - количество сторон у первого и второго многоугольников; далее вводятся N чисел - длины сторон первого многоугольника; затем вводятся M  чисел - длины сторон второго многоугольника.
Выходные данные: единственное число - минимальный периметр новой фигуры.
Ограничение: 3<=N,M<=104


Школьный уровень
ЛИШНИЕ ЦИФРЫ. Дано натуральное число. Удалить из его записи все цифры Х (где Х – цифра от 0 до 9). Например, если исходное число 23374 и Х=3, то в результате удаления цифры 3 получим число 274, а если исходное число 33 и Х=3, то в результате получим число 0. Решение задачи записать на одном из языков программирования или на естественном языке (в словесной форме).

Возможное решение:

Есть два способа решения:
1) Создать перевертыш без заданной цифры, а потом еще раз перевернуть.
2) Использовать строковый тип данных, удалить все заданные цифры из строки (но строковый тип используется редко).

Алгоритм:
1) Вводим исходное число и цифру – переменные а и х.
2) Создаем из числа а перевертыш, добавляя только цифры, отличные от заданной х – переменная у.
у=0;
Пока в числе а есть цифры:
1. если последняя цифра числа а не заданная цифра х, то увеличиваем перевертыш у в десять раз и прибавляем последнюю цифру числа а;
2. «укорачиваем» исходное число а на одну цифру с конца.
3) Перевернем перевертыш у – переменная а.
а=0;
Пока в числе у есть цифры:
1. увеличиваем перевертыш а в десять раз и прибавляем последнюю цифру числа у;
2. «укорачиваем» исходное число у на одну цифру с конца.
4) Выводим значение переменной х на экран.
Реализуйте программу на языке Паскаль.

Комментариев нет:

Отправить комментарий