|
У розділі оголошень: 10 Показано оголошень: 1-10 |
|
После аварии на морской нефтяной скважине в океан вылилось много нефти. Она растеклась по воде, после чего образовалась определенное количество нефтяных пятен. Для ликвидации последствий аварии был создан штаб по координации действий. Сотрудники штаба хранят информацию о пятнах в компьютере в виде матрицы размерностью M x N. Ячейка матрицы содержит 0, если нефтяное пятно в этих координатах отсутствует и 1, если есть (2 ≤ M, N ≤ 100). В матрице ячейки пятен не могут касаться друг к другу ни сторонами, ни углами.
Задание. Для облегчения ликвидации последствий аварии нужно написать программу OIL .*, которая будет находить общее количество пятен и количество пятен с одинаковой площадью. |
Когда Чебурашке исполнилось 6 лет, Крокодил Гена пригласил его в свою школу. Чебурашка очень обрадовался, и отправился навстречу знаниям. По дороге к нему пристала очень любопытная и назойливая старуха Шапокляк. Чебурашку ничего не оставалось делать, как взять её с собой.
Когда они пришли в школу, Крокодил Гена повёл их на урок математики. Чебурашка открыл свою новенькую тетрадь в клеточку и достал чернильницу. Шапокляк не выдержала и сунула в чернильницу свой длинный нос, и на чистотой странице в клеточку появилось N синих пятнышек. Чебурашка очень расстроился, но Гена его сразу успокоил. Он предложил заклеить все кляксы одной белой прямоугольной бумажной лентой так, чтобы стороны ленты были параллельны сторонам клеточки, а её площадь была минимальной.
Задание. Необходимо найти координаты левой нижней и правой верней вершин этой ленты. |
В I туре Интернет-олимпиады по программированию n учеников все задачи решили верно, но время выполнения у всех было разным: X1, X2, X3,...Xn, (Xi - натуральное число, время выполнения работы i-ым участником, n <20). Как выяснилось, у тех, кто справился с заданием быстрее, и решение было более эффективным. Задания можно было решать на протяжении двух дней.
Задание: Жюри необходимо выбрать четырех программистов с лучшим результатом для участия во II туре олимпиады, при этом необходимо указать номера, под которыми они принимали участие в олимпиаде.
Формат входных данных: В файле input.txt в первой строке - количество учеников, которые все выполнили, а в остальных n строчках - результаты: X1, X2, X3,...Xn |
Задачи с решениями. Подготовка к олимпиаде. |
№1 Найти наибольшее отношение трехзначного числа к сумме его цифр
№2. Дана строка, состоящая из символов, каждый из которых является знаком «+» или цифрой, начинающаяся и заканчивающаяся цифрой. Если в строке встречается сочетание «++», то выдать сообщение об ошибке, в противном случае вычислить получившуюся сумму.
№3.
Между школами поделили N компьютеров Pentium и M компьютеров Celeron. Сколько было школ, если известно их не менее K и каждая школа получила одинаковое количество компьютеров каждого вида. Все числа входного файла не превышают 1000000000. |
Задана строка символов. Среди литер этого текста особую роль играет знак #, появление которого означает отмену предыдущей литеры текста; k знаков # отменяют k предыдущих литер (если такие есть) Напечатать строку с учетом роли знака #. Например, строка "VR#Y##HELO#LO" должна быть напечатана в виде: "HELLO".
Решение:
Обозначим s - исходную строку, dl - длину этой строки.
Для решения создадим ещё одну строку s1(вначале пустую).
Далее организуем цикл по номеру символа в строке s.
Если очередной символ не #, то добавим его к строке s1, если это знак # и строка s1 не пустая, то удалим из неё последний символ.
|
Вкусный завтрак в школьной столовой стоит A гривен и B копеек. Степан заплатил C гривен и D копеек. Напишите программу, которая считает сдачу, полученную Степаном.
Логика решения:
- Перевести все деньги в копейки, чтобы получать решение в меньшее количество действий.
- Проверить, может ли Степан в принципе позволить себе завтрак.
- От денег Степана отнять стоимость завтрака. Поскольку мы все перевели в копейки, то выводить надо два числа:
- Целая часть от полученной разности делить на 100 - гривны
- Остаток от деления полученной разности делить на 100 - копейки
|
Сегодня мы рассмотрим еще одну стандартную олимпиадную задачу: проверить, является ли НЕЧТО палиндромом.
Во-первых: что такое палиндром. Палиндром - это запись, которая одинаково читается слева направо и справа налево. Например, число 12321 можно считать палиндромом. Как и слово кабак. А бывают целые фразы - палиндромы: Аргентина манит негра; А роза упала на лапу Азора...Встречаются стихи - палиндромы и даже рассказы - палиндромы. О романах-палиндромах лично я не слышала, но я верю в людей.
Во-вторых: почему НЕЧТО. Потому, что в зависимости от того, исследуем мы на палиндромность число, слово или фразу - задача может быть решена по-разному. Давайте рассмотрим все варианты решений. |
Как определить , является ли число палиндромом.
|
В одній державі податкова система виглядала так:
Податок становив 1% від доходу громадянина, але при цьому:
Якщо при обчисленні 1% виходило ціле число, то податок становить саме це ціле число.
Якщо при обчисленні 1% виходить дробове число (не важливо, чому дорівнює дрібна частина - просто виходячи з факту її наявності) - то податок становить цілу частину відсотка + 1.
Наприклад: якщо дохід становить 300 тугриків, то 1% дорівнює 3 і податок теж 3. Якщо дохід становить 315 тугриків, то 1% дорівнює 3,15, а податок дорівнює 4.
Труднощі в учасників олімпіади викликав той момент, що округлення за правилами математики в даному випадку не задовольняють умові завдання.
Рішення:
Вводимо дохід громадянина.
Перевіряємо наявність дробової частини в 1%.
Напружуємося, і згадуємо, що 1% можна отримати, розділивши число на 100.
Напружуємося 2, згадуємо, що div дозволяє отримати цілу частину від ділення, а mod виводить ЗАЛИШОК від ділення.
program z10_1_2016;
var
a,b:integer;
begin
Writeln('Vvedite dohod gragdanina');
readln(a);
if (a mod 100>0) then b:=(a div 100)+1
else b:=(a div 100);
writeln('Procent naloga sostavljaet ',b);
end. |
|
|