Многопрофильная международная олимпиада
«Будущее Арктики»
Информатика
ЗАДАНИЯ ЗАОЧНОГО ТУРА
Правила оформления задач.
Задача для примера.
Задача А плюс B.
Дано 2 целых числа. Требуется найти их сумму.
Формат входных данных
В первой строке входных данных записано 2 целых числа.
Формат выходных данных
Выведите одно целое число – ответ на задачу.
Примеры
ввод | вывод |
2 2 | 4 |
Решение оформляется письменно на бумаге на любом алгоритмическом языке программирования. Допускается использовать псевдокод.
Пример реализации.
Решение на Pascal:
program aplusb;
var
a, b, res: integer;
begin
read(a, b);
res:= a+b;
write(res);
end.
Пример на С++:
#include <iostream>
using namespace std;
int main(){
int a, b;
cin >> a >> b;
cout << a+b;
return 0;
}
Задача 1. Корабли
Корабли стоят в гавани в ряд. Каждый направлен носом к берегу либо к морю. Вас попросили развернуть некоторые корабли так, чтобы нос каждого был направлен в одном направлении (либо все к берегу, либо все к морю). Найдите минимальное количество кораблей, которые нужно развернуть.
Формат входных данных
В первой строке входных данных записано 1 целое число N – количество кораблей.
В следующей строке записано N чисел 0 – если корабль повернут к берегу и 1, если к морю.
Формат выходных данных
Выведите одно целое число – ответ на задачу.
Примеры
ввод | вывод |
5 0 1 0 1 0 | 2 |
6 1 1 1 0 0 0 | 3 |
В первом примере мы можем развернуть 2 и 4 корабли. Во втором примере мы можем развернуть либо первые три, либо последние три.
Задача 2. Переправа
Для заезда в оздоровительный лагерь на острове организаторы решили использовать 1 лодку. Известно, что в лагерь собираются поехать N детей и 1 взрослый. Каждая лодка вмещает K человек. В лодке всегда должен находиться взрослый. Он отвозит детей и потом возвращается обратно, если кто-то еще остался.
Определите, сколько всего требуется совершить поездок. Под поездкой понимается путь от острова до берега либо наоборот.
Формат входных данных
Во входных данных записано 2 натуральных числа через пробел – N и K, каждое не превосходит 10 000. (K>=2)
Формат выходных данных
Выведите требуемое количество поездок.
Примеры
ввод | вывод |
5 3 | 5 |
10 2 | 19 |
В первом примере лодка вмещает 3 человек (то есть за раз можно перевезти 1 взрослого и 2 ребенка). Всего нужно не менее 3 раз забирать детей. Первый раз двух, потом еще двух, и потом одного. Всего получается 5 поездок (в конце лодка остается на острове, то есть шестой раз возвращаться обратно не нужно)
Задача 3. SOS
Капитан корабля посылает сигнал SOS. Будем считать, что он передает эти символы один за другим. Но между символами в виде помех могут вклиниться другие символы.
Ваша задача определить мог ли быть передан сигнал SOS
Формат входных данных
В первой строке содержится непустая строка длиной не более 100 символов. Строка состоит только из прописных латинских символов.
Формат выходных данных
Выведите YES, если сигнал SOS мог быть передан, иначе NO.
Примеры
ввод | вывод |
AGSHAOJS | YES |
ISOAJ | NO |
SSHSOSA | YES |
Основные порталы (построено редакторами)
