Задача A. Тест: задания типа ЕГЭ

Автор:Д. Давидюк, А. Кленин   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

Данная задача — тест. Требуется ответить на приведённые вопросы и отправить ответ в тестирующую систему в указанном ниже формате. За каждый правильный ответ будут начисляться баллы. Баллы за все вопросы, кроме нулевого, будут видны после окончания тура.

Вопрос 0

Сколько будет 2 × 2?

Вопрос 1

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:

вверхвнизвлевовправо
При выполнении этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.

Четыре команды проверяют условие отсутствия стены у той клетки, где находится РОБОТ

сверху свободноснизу свободнослева свободносправа свободно

Цикл
ПОКА < условие > команда
выполняется, пока условие истинно, иначе происходит переход на следующую строку.
Сколько клеток приведённого лабиринта соответствует условию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке, с которой он начал движение?

НАЧАЛО
ПОКА < справа свободно > вправо
ПОКА < снизу свободно > вниз
ПОКА < слева свободно > влево
ПОКА < сверху свободно > вверх
КОНЕЦ

Вопрос 2

Каково наименьшее натуральное число X, при котором истинно высказывание (X + 1) ⋅ (X + 1) ≤ 69 → (X − 1) ⋅ X > 99?

Вопрос 3

У исполнителя Калькулятор две команды, которым присвоены номера:
  1. Умножь на 2
  2. Прибавь 8
Выполняя первую из них, Калькулятор умножает число на экране на 2, а выполняя вторую, прибавляет к нему 8. Запишите порядок команд в программе получения из числа 2 числа 68, содержащей не более 5 команд, указывая лишь номера команд (Например, программа 21112 — это программма
  • прибавь 8
  • умножь на 2
  • умножь на 2
  • умножь на 2
  • прибавь 8,
которая преобразует число 1 в число 80)

Вопрос 4

На одной улице стоят в ряд 4 дома, в которых живут 4 человека: Харитон, Ефим, Игнатий, Тимур. Известно, что каждый из них владеет ровно одной из следующих профессий: Горнорабочий, Журналист, Токарь, Хореограф, но неизвестно, кто какой и неизвестно, кто в каком доме живет. Однако, известно, что:
  1. Тимур живёт правее, чем Игнатий
  2. Харитон живет левее, чем Игнатий
  3. Токарь живёт не рядом c Журналистом
  4. Журналист живет левее Токаря
  5. Горнорабочий живет левее, чем Журналист
  6. Ефим работает Журналистом
Выясните, кто какой профессии, и кто где живет, и дайте ответ в виде номеров людей, в порядке слева направо. (Харитон — 1, Ефим — 2, Игнатий — 3, Тимур — 4) Например, если бы в домах жили (слева направо) Ефим, Тимур, Харитон, Игнатий, ответ был бы: 2413.

Вопрос 5

Строки (цепочки символов латинских букв) создаются по следующему правилу. Первая строка состоит из одного символа — латинской буквы «A». Каждая из последующих цепочек создается такими действиями: в очередную строку сначала записывается буква, чей порядковый номер в алфавите соответствует номеру строки (на i-м шаге пишется i-я буква алфавита), к ней слева дважды подряд приписывается предыдущая строка. Вот первые 4 строки, созданные по этому правилу:
  1. A
  2. AAB
  3. AABAABC
  4. AABAABCAABAABCD

Латинский алфавит (для справки): ABCDEFGHIJKLMNOPQRSTUVWXYZ

Имеется задание: «Определить символ, стоящий в n-й строке на позиции 2n−2 − 4, считая от левого края цепочки».
Выполните это задание для n = 10, в ответе укажите номер буквы в алфавите (A — 1, B — 2, и т.д.)

Вопрос 6

У исполнителя Калькулятор две команды:
  1. вычти 3
  2. прибавь 6
Первая из них уменьшает число на экране на 3, вторая – увеличивает его на 6 (отрицательные числа допускаются). Программа для Калькулятора – это последовательность команд. Сколько различных чисел можно получить из числа 3 с помощью программы, которая содержит ровно 5 команд?

Вопрос 7

Сколько существует различных наборов значений логических переменных x1, x2, x3, x4, x5, x6, x7, x8 которые удовлетворяют всем перечисленным ниже условиям?

(((x1x2) ∨ (x3x4)) ∧ (¬ (x1x2) ∨ ¬ (x3x4))) = 1
(((x3x4) ∨ (x5x6)) ∧ (¬ (x3x4) ∨ ¬ (x5x6))) = 1
(((x5x6) ∨ (x7x8)) ∧ (¬ (x5x6) ∨ ¬ (x7x8))) = 1

В ответе не нужно перечислять все различные наборы значений x1, x2, x3, x4, x5, x6, x7, x8, при которых выполнена данная система равенств. В качестве ответа вам нужно указать количество таких наборов.

Формат выходного файла

В качестве решения принимается текстовый файл, содержащий по одному числу в строке — ответы на каждый из вопросов. При отправке файла следует выбрать в тестирующей системе среду разработки "Answer text". Если вы не знаете ответа на какой-то из вопросов, укажите вместо ответа число 0.


Задача B. Крейзик

Автор:А. Кленин   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

Юный программист Вася придумал собственный язык программирования "Крейзик". Васе всегда не нравились правила вычисления арифметических выражений, поэтому он решил, что в Крейзике все арифметические операции будут выполняться строго слева направо, а скобок не будет вообще.

Кроме того, обычные четыре арифметических действия Вася заменил на четыре своих:

Результат каждого действия не должен содержать незначащих лидирующих нулей.

Требуется написать программу, которая будет вычислять выражения согласно правилам языка Крейзик.

Отправка решения и тестирование

Данная задача будет проверяться на ОДНОМ входном файле, содержащем все тесты. Этот файл можно скачать ЗДЕСЬ.

В качестве решения принимается как программа, так и текстовый файл, содержащий ответ к задаче в требуемом формате (при его отправке следует выбрать в тестирующей системе среду разработки "Answer text").

Баллы будут начисляться пропорционально количеству правильных ответов в выходном файле. Решение будет полностью проверяться сразу после отправки, и участникам будут видны набранные за данную задачу баллы.

Формат входного файла

Первая строка входного файла содержит целое число N — количество выражений. Последующие N строк содержат по одному выражению каждая.

Формат выходного файла

Выходной файл должен содержать N строк — результаты вычисления каждого выражения.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
5
2+3
57578-255
12304*8
11111/222
1+2/44*5-20

23
778
4123
12121211
441

Задача C. Чёрный ящик

Автор:А. Кленин   Ограничение времени:2 сек
Ввод / вывод:интерактивный   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

Данная задача является интерактивной.

Юные программисты Петя и Вася играют в следующую игру. Петя задумывает последовательность команд двух видов:

  1. Увеличить число на 1.
  2. Увеличить число в X раз.
Вася выбирает целое положительное число X и сообщает Пете. Петя в ответ выполняет задуманную последовательность команд, начиная с числа 1, и сообщает Васе получившееся число. Вася предлагает различные числа X до тех пор, пока не сумеет угадать последовательность команд, задуманную Петей. Если Вася правильно угадал последовательность, затратив не более 20 запросов, то он выигрывает. В противном случае выигрывает Петя.

Игра наскучила Пете, и он написал программу, которая играет за него. Программа действует почти так же, как Петя, однако если результат вычислений превосходит 2 × 109, программа сообщает число  − 1 вместо результата.

Теперь Вася хочет написать программу, которая выиграет у программы Пети.

Протокол взаимодействия

На каждом шаге взаимодействия, кроме последнего, ваша программа должна:

  1. Вывести целое число X в выходной поток.
  2. Ввести результат вычисления из входного потока.

На последнем шаге программа должна вывести строку, состоящую из символов + и *, обозначающих соответственно команды "Увеличить число на 1" и "Увеличить число в X раз".

После каждого шага, включая последний, следует вывести перевод строки и выполнить сброс буфера (flush).

Ограничения

Количество команд в последовательности находится в диапазоне от 1 до 20

1 ≤ X ≤ 2 × 109

Пример

Если Петя задумал последовательность +*++, а Вася предложил выполнить её для X = 3, то Петя ответит ему числом 8. Такое же число 8 получилось бы, если бы Петя задумал *+++++. Поэтому Вася пока не может однозначно угадать Петину последовательность, и должен сделать ещё один ход.


Задача D. Ближайшая стенка

Автор:А. Кленин   Ограничение времени:2 сек
Входной файл:input.txt   Ограничение памяти:64 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

Внутри прямоугольника со сторонами, параллельными осям координат, расположено N точек. Для каждой точки известно расстояние до ближайшей стороны прямоугольника.

Требуется однозначно восстановить координаты вершин прямоугольника или определить, что это невозможно.

Формат входного файла

Входной файл содержит число N за которым идут N троек чисел xi yi di  — координаты i-й точки и расстояние до ближайшей стороны. Все числа целые.

Формат выходного файла

Если решения не существует, то в выходной файл должно быть выведено число &minus;1.

Если решение единственное, то в выходной файл должно быть выведено число 1, за которым следуют четыре целых числа x1 y1 x2 y2  — координаты двух противоположных вершин прямоугольника.

Если решений больше одного, то в выходной файл должно быть выведено число 0, за которым следуют четыре целых числа x1 y1 x2 y2  — координаты двух противоположных вершин любого прямоугольника, являющегося решением.

Ограничения

1 &le; N &le; 100, 0 &le; xi, yi, di &le; 10000

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
1
50 50 1
0 49 49 51 51
2
2
100 100 3 101 101 90
-1

0.295s 0.012s 21