Задачи олимпиады "Школьный этап ВОШ Красноярского края по информатике, 7-8 классы"
Задача A. Загадай число
(Время: 1 сек. Память: 16 Мб Баллы: 100)
У Васи все хорошо с математикой и он решил удивить Петю своими арифметическими способностями. Он предложил загадать Пете любое целое число от 1 до 9 включительно. Далее, Вася попросил утроить загаданное число и прибавить к полученному результату 6. Далее, Петю попросили еще раз умножить результат на 3. А потом требовалось еще от полученного результата отнять 20 и прибавить 11. В качестве последнего действия Вася предложил Пете сложить все цифры числа, полученного в результате вычислений. Всего получилось 7 действий.
Когда Петя сообщил Васе загаданное число и полученный результат, Вася почти мгновенно смог определить правильность вычислений.
Вам требуется написать программу, которая помогла бы Пете в вычислениях.
Входные данные
В первой строке входного файла INPUT.TXT содержится целое неотрицательное число X, загаданное Петей (X ≤ 100).
Выходные данные
В выходной файл OUTPUT.TXT выведите число, полученное Петей в результате вычислений на английском языке (не числом) в нижнем регистре. Если загаданное Петей число не соответствует требованиям Васи (не от 1 до 9), то следует вывести «error» (без кавычек).
Примеры
№
INPUT.TXT
OUTPUT.TXT
1
1
nine
2
13
error
Пояснение к примерам
В первом примере Петя загадал число 1, после умножения на 3 получил в результате 3, после прибавления 6 он получил 9, далее он умножил 9 на 3 и получил 27, после вычел 20 и получил 7, затем прибавил 11 и получил 18. После сложения цифр числа 18 был получен итоговый результат: 1+8=9. Поэтому в качестве ответа мы получаем «nine», что означает «девять» в переводе с английского.
Во втором примере Петя загадал число вне требуемого диапазона, поэтому в качестве ответа – «error».
Задача B. Изба
(Время: 1 сек. Память: 16 Мб Баллы: 100)
Рассмотрим одну из разновидностей русской избы в виде деревянной прямоугольной постройки, состоящей из двух частей: горницы и сеней. Пример такой постройки представлен ниже:
Строители на фундамент кладут два длинных бревна длины b, на них – три коротких длины a, снова два длинных, опять три коротких, и так далее. Самый верхний ряд всегда делают из трех коротких бревен. Каждые пять уложенных брёвен (два длинных и три коротких) увеличивают высоту избы на единицу.
Предположим, что у нас есть деревья суммарной длины c, из которых мы можем изготовить бревна для постройки избы. По заданным значениям a, b и c требуется определить теоретически максимально возможную высоту избы, которую строители смогут построить.
Входные данные
Входной файл INPUT.TXT содержит три целых числа a, b и c – длины брёвен и суммарная длина деревьев (1 ≤ a < b < c ≤ 1018), записанные в отдельных строках.
Выходные данные
В выходной файл OUTPUT.TXT выведите целое число – максимальную высоту избы, которую можно построить.
Примеры
№
INPUT.TXT
OUTPUT.TXT
1
3 5 29
1
2
1 2 100
14
Система оценки
Решения, правильно работающие только для случаев, когда входные числа не превосходят 105, будут оцениваться в 50 баллов.
Задача C. Катер
(Время: 1 сек. Память: 16 Мб Баллы: 100)
В океане расположен остров прямоугольной формы, к которому желает причалить катер. Размерами и формой катера можно пренебречь. Стороны острова направлены вдоль параллелей и меридианов. Введём систему координат, в которой ось OX направлена на восток, а ось ОY – на север. Пусть юго-западный угол острова имеет координаты (x1, y1), северо-восточный угол – координаты (x2, y2).
Катер находится в точке с координатами (x, y). Определите, к какой стороне острова (северной, южной, западной или восточной) или к какому углу острова (северо-западному, северо-восточному, юго-западному или юго-восточному) катер должен плыть, чтобы как можно скорее добраться до острова.
Входные данные
Входной файл INPUT.TXT содержит шесть чисел по одному в строке в следующем порядке: x1, y1 (координаты юго-западного угла острова), x2, y2 (координаты северо-восточного угла острова), x, y (координаты катера). Все числа целые и по модулю не превосходят 100. Гарантируется, что x1 < x2, y1 < y2, x ≠ x1, x ≠ x2, y ≠ y1, y ≠ y2, координаты катера находятся вне острова.
Выходные данные
Если катер должен плыть к северной стороне острова, в выходной файл OUTPUT.TXT выведите символ «N», если к южной – символ «S», если к западной – символ «W», если к восточной – символ «E». Если катер должен плыть к углу острова, нужно вывести одну из следующих строк: «NW», «NE», «SW», «SE».
Пример
№
INPUT.TXT
OUTPUT.TXT
Пояснение
1
-1 -2 5 3 -4 6
NW
Задача D. Разбиение на квадраты
(Время: 1 сек. Память: 16 Мб Баллы: 100)
Требуется представить заданное натуральное число N в виде суммы равных квадратов некоторого максимально возможного натурального числа M.
Входные данные
Входной файл INPUT.TXT содержит целое число N (1 ≤ N ≤ 2×109).
Выходные данные
В выходной файл OUTPUT.TXT выведите число – максимально возможный квадрат некоторого числа M. Если найти такое число невозможно, то выведите слово «impossible» (без кавычек).
Пример
№
INPUT.TXT
OUTPUT.TXT
1
180
36
Пояснение к примеру
Здесь N=180, а M=6. Действительно: 180 = 36+36+36+36+36 = 62+62+62+62+62, большего такого слагаемого как 36 не существует.
Система оценки
Решения, правильно работающие только для случаев, когда M не превосходит 10 000, будут оцениваться в 60 баллов.
Задача E. Воздушные шарики
(Время: 1 сек. Память: 16 Мб Баллы: 100)
В детском саду «Буратино» воспитатели решили организовать праздник для детей, для чего запланировали надуть M воздушных шариков. С этой целью они пригласили N помощников, i-й среди которых надувает шарик за Ti минут, однако каждый раз после надувания Zi шариков устает и отдыхает Yi минут. Теперь воспитатели желают узнать, через какое время будут надуты все шарики при наиболее оптимальной работе помощников, и сколько шариков надует каждый из них. При этом, если помощник надул шарик, и должен отдохнуть, но больше шариков ему надувать не придется, то считается, что он закончил работу сразу после окончания надувания последнего шарика, а не после отдыха.
Входные данные
В первой строке входного файла INPUT.TXT находятся числа M и N (0 ≤ M ≤ 1000, 1 ≤ N ≤ 20). Следующие N строк содержат по три целых числа – Ti, Zi и Yi соответственно (1 ≤ Ti,Yi ≤ 100, 1 ≤ Zi ≤ 1000).
Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите целое число T – время, за которое будут надуты все шарики. Во второй строке выведите N чисел – сколько шариков надует каждый из приглашенных помощников. Разделяйте числа пробелами. Если распределений шариков несколько, выведите любое из них.