Задачи 9, 10 класс Во всех задачах имя файла с входными данными – input.txt, файла с выходными данными – output.txt. Во всех задачах предполагается одинаковое ограничение по объёму используемой памяти – 64 килобайта и по времени выполнения программы – 3 секунды. Задача 1. Робот на минном поле Минное поле представляет собой часть клетчатой плоскости. Некоторые клетки заминированы. Робот перемещается по полю в соответствии с заранее установленной программой. Программа робота представляет собой строку из подряд идущих символов S, R, L, интерпретируемых роботом следующим образом: символ S интерпретируется, как команда сделать шаг вперёд на следующую клетку, к которой робот расположен «лицом»; символ R интерпретируется, как команда повернуться на месте (оставаясь на той же клетке) в правую сторону, символ L – в левую. Изначально робот стоит на клетке с координатами (0,0) и повёрнут «лицом» к клетке с координатами (0,1), известна его программа и количество и расположение мин на поле. Требуется установить, взорвётся робот или нет. Формат входных данных. В первой строке входного файла записана программа движения робота − строка, длиною не более 200 символов, состоящая из символов S, R, L. Во второй строке находится целое число N – количество мин на поле (N ≤ 1000). В последующих N строках записаны пары целых чисел, разделённых пробелом – координаты мин (каждая координата по абсолютному значению не превосходит 30000). Формат выходных данных. В выходной файл требуется записать число 1, если робот наступит на клетку с миной, 0 – если не наступит. Примеры. input.txt SSRSLS 2 -1 -1 12 LSSLRSSRS 3 12 13 25 output.txt 1 0 Задача 2. Приведение многочлена Требуется написать программу, осуществляющую приведение многочлена к каноническому виду: anxn+ an-1xn-1+…+ a1x+a0 (одночлены расположены в порядке убывания степеней, степени всех одночленов – различны, старший коэффициент не равен 0, одночлены с нулевыми коэффициентами в записи отсутствуют). Формат входных данных. В первой строке входного файла содержится запись многочлена в следующей форме: записаны одночлены вида A*x^k (где A и k – целые неотрицательные числа), разделённые между собой знаками «+» или «-», перед первым одночленом может быть знак «-». Одночлены неупорядочены, коэффициенты перед одночленами могут быть нулевыми, могут присутствовать несколько одночленов одинаковой степени. Степень одночлена не превосходит 99. Коэффициент при одночлене 1 по абсолютному значению не превосходит 999. Длина строки, содержащей исходную запись многочлена, не превосходит 200 символов. Формат выходных данных. В выходной файл требуется записать исходный многочлен в каноническом виде, используя запись одночленов в приведённой выше форме. При этом одночлен степени 1 должен быть записан без указания значение степени, свободный член требуется записать без переменной x, если коэффициент равен 1, его необходимо опустить (не записывать перед одночленом). Пример. input.txt -3*x^99+1*x^2-1*x^99+2*x^1+4*x^99+1*x^0 output.txt x^2+2*x+1 Задача 3. Произведение чисел По заданным натуральным числам a, d и n требуется определить минимальное натуральное число b такое, что a*b делится на dn. Формат входных данных. Во входном файле через пробел записаны числа a, d, n (a, d≤2*109, n ≤ 106). Формат выходных данных. В выходной файл требуется записать число b в виде числа, либо в виде произведения множителей в некоторых степенях, используя знаки «*» и «^» для произведения и указания степени соответственно. Примеры. input.txt 461 4 2000000000 1000 output.txt 3 2^9998*5^9000 Задача 4. Ломаная и отрезок Заданы замкнутая ломаная и отрезок. Требуется определить, сколько звеньев ломаной пересекает отрезок (со сколькими звеньями имеет общую точку, начальные и конечные точки звеньев ломаной и отрезка считаются принадлежащим звену и отрезку соответственно). Формат входных данных. В первой строке входного файла через пробел записаны 4 целых числа (по модулю не превосходящих 30000): первые два – x- и y-координата начальной точки отрезка, следующие два − x- и y-координата конечной точки отрезка. Во второй строке входного файла записано целое число N − количество звеньев ломаной ( 3≤ N ≤ 1000). В последующих N строках записаны через пробел пары чисел − целочисленные координаты вершин ломанной (первое число − x-координата, второе − y-координата соответствующей вершины, по абсолютному значению координаты не превосходят 30000). Формат выходных данных. В выходной файл требуется записать целое число − количество звеньев ломаной, пересекающихся с отрезком. Пример. input.txt 0055 7 output.txt 5 2 10 12 22 33 34 45 56 Задачи 11 класс Во всех задачах имя файла с входными данными – input.txt, файла с выходными данными – output.txt. Во всех задачах предполагается одинаковое ограничение по объёму используемой памяти – 64 килобайта и по времени выполнения программы – 3 секунды. Выполненные задания вы можете присылать в формате Word по электронной почте или в рукописном виде по почте: 350000, Краснодар, ул.Красная, 91, каб.111а. Задача 1. Приведение многочлена Требуется написать программу, осуществляющую приведение многочлена к каноническому виду: anxn+ an-1xn-1+…+ a1x+a0 (одночлены расположены в порядке убывания степеней, степени всех одночленов – различны, старший коэффициент не равен 0, одночлены с нулевыми коэффициентами в записи отсутствуют). Формат входных данных. В первой строке входного файла содержится запись многочлена в следующей форме: записаны одночлены вида A*x^k (где A и k – целые неотрицательные числа), разделённые между собой знаками «+» или «-», перед первым одночленом может быть знак «-». Одночлены неупорядочены, коэффициенты перед одночленами могут быть нулевыми, могут присутствовать несколько одночленов одинаковой степени. Степень одночлена не превосходит 99. Коэффициент при одночлене по абсолютному значению не превосходит 999. Длина строки, содержащей исходную запись многочлена, не превосходит 200 символов. Формат выходных данных. В выходной файл требуется записать исходный многочлен в каноническом виде, используя запись одночленов в приведённой выше форме. При этом одночлен степени 1 должен быть записан без указания значение степени, свободный член требуется записать без переменной x, если коэффициент равен 1, его необходимо опустить (не записывать перед одночленом). Пример. input.txt -3*x^99+1*x^2-1*x^99+2*x^1+4*x^99+1*x^0 output.txt x^2+2*x+1 Задача 2. Монеты У покупателя имеется горсть монет различного достоинства (достоинства некоторых монет могут совпадать). Кассир заранее предупредил, что касса пустая и сдачу давать нечем. Покупатель хочет купить товар на определённую сумму. Требуется узнать, может ли покупатель расплатиться под расчёт. 3 Формат входных данных. В первой строке входного файла записано натуральное число N – количество монет у покупателя (N ≤ 20). В следующей строке через пробел записаны достоинства имеющихся монет (натуральные числа не превосходящие 100). В третьей строке записана стоимость товара (натуральное число, не превосходящее 10000). Формат выходных данных. В случае, если набрать сумму под расчёт возможно, в выходной файл требуется записать через пробел достоинства монет, составляющих нужную сумму (в случае нескольких вариантов ответа – любой из них), иначе – число -1. Примеры. input.txt 5 13221 7 3 123 10 output.txt 223 -1 Задача 3. Последовательность Известно, что в последовательности из N целых чисел некоторое число встречается больше, чем N/2 раз. Необходимо определить это число. Формат входных данных. В первой строке входного файла записано число N – количество чисел (N ≤ 106). В следующих N строках записаны сами эти числа. Формат выходных данных. В выходной файл требуется записать число, которое встречается в последовательности больше, чем N/2 раз. Пример. input.txt 9 1 1 2 3 1 2 1 4 1 output.txt 1 Задача 4. Лучшая фирма Среди всех коммерческих фирм страны решили провести масштабное экономикосоциологическое исследование. Критериев выбрали множество: прибыль, оборот, количество служащих, суммарная заработная плата служащих, объём социальных программ, благотворительной помощи, количество упоминаний в прессе и многие, многие другие. Кроме того, ряд крупных независимых экспертов, пожелавших принять участие в исследовании, предложили каждый по нескольку своих субъективных критериев, в соответствии с которыми они присудили баллы каждой фирме. «Лучшую фирму» решили выбрать в соответствии со следующим правилом: по каждому критерию все фирмы ранжируют и присваивают место: 1-е, 2-е, 3-е и так далее (какие-то места могут разделять 4 несколько участников исследования). Далее по всем критериям для каждой фирмы вычисляют сумму завоёванных мест. Побеждает та фирма, у которой сумма мест минимальна. Необходимо по заданным показателям критериев вычислить итоговый рейтинг фирм-участников исследования. Формат входных данных. В первой строке входного файла через пробел указаны два натуральных числа – количество фирм-участников N и количество критериев M (M, N ≤ 1000). В следующих M строках через пробел указаны целые числа − численные значения критериев для каждой фирмы-участницы исследования: k-е число в (p+1)-ой строке файла есть значение p-го критерия для k-ой фирмы. Каждое значение критерия – число в пределах от 0 до 30000. Формат выходных данных. В выходной файл требуется вывести итоговый рейтинг фирм-участниц: в p-ой строке выходного файла через пробел необходимо указать номера фирм, занявших в итоговом рейтинге p-е место. Пример. input.txt 32 112 100 100 1000 output.txt 3 12 5