Республиканская олимпиада по информатике 2014 год, Усть-Каменогорск
Задача A. Семь простых чисел
Ограничение по времени:
1 секунда
Ограничение по памяти:
64 мегабайта
Артем будет выступать на танцевальном соревновании. После выступления каждый из 7 членов жюри выставляет положительную оценку. Сумма этих оценок является общим баллом. Артем считает выступление хорошим, если его общий балл будет равен N. Он же считает выступление идеальным, если выступление будет хорошим и каждая оценка от жюри будет простым числом. Выведите пример оценок жюри идеального выступления для заданного N или ``-1'', если решение не существует. Если существует несколько решений выведите любое.
Формат входного файла
В первой строке входного файла задается одно положительное целое число N (5≤N≤1015).
Формат выходного файла
Если решение существует, выведите семь простых чисел, разделенных пробелом, в любом порядке. Если решение не существует, выведите ``-1''.
Примеры:
Вход 5Ответ
-1Вход
14Ответ
2 2 2 2 2 2 2
Замечание
Подзадача 1 — 17 баллов (1≤N≤30)
Подзадача 2 — 19 баллов (1≤N≤1000)
Подзадача 3 — 23 балла (1≤N≤109)
Подзадача 4 — 41 балл (1≤N≤1015)
комментарий/решение
Задача B. Мансур побеждает Александра
Ограничение по времени:
2 секунды
Ограничение по памяти:
128 мегабайт
Задана игра на кучках камней. Ход игрока заключается в том, что он может взять произвольное количество камней из одной кучки, либо поровну из всех. Игроки чередуют ходы. Проигрывает тот, кто не может сделать ход. Мансур играет в эту игру с Александром. На столе лежат две кучки камней, в первой a, во второй b камней. Первым ходит Мансур. Мансур понял, что если он может проиграть в заданную игру, он может своим ходом добавить третью кучку камней так, чтобы гарантированно победить. Если Мансур добавляет третью кучку, то ход переходит к Александру и далее игра идет только на трех кучках. Теперь перед ним встала задача, может ли он выиграть в эту игру или ему нужно первым ходом добавить третью кучку, тогда какого она должна быть размера? Помогите Мансуру. Мансур и Александр опытные ACMщики, поэтому можете считать, что они всегда ходят оптимально.
Формат входного файла
В первой строке входных данных задано одно целое число 1≤T≤100000 — количество тестов. В следующих T строках заданы тесты: два целых числа a и b, разделенных одним пробелом.
Формат выходного файла
Выведите T строк, ``MANSUR''\ если Мансур побеждает в изначальной игре, либо число x, если Мансуру нужно добавить кучку из x камней чтобы победить. Если существует несколько ответов выведите любой.
Примеры:
Вход 5 1 1 1 2 3 3 3 5 9 24Ответ
MANSUR 3 MANSUR 6 MANSUR
Замечание
Подзадача 1 — 21 балл 1≤a,b≤100
Подзадача 2 — 23 балла 1≤a,b≤10000
Подзадача 3 — 27 баллов 1≤a,b≤1000000
Подзадача 4 — 29 баллов 1≤a,b≤10000000
комментарий/решение
Задача C. Максимальный квадрат
Ограничение по времени:
15 секунд
Ограничение по памяти:
128 мегабайт
Дана матрица размера N×M состоящая только из нулей и единиц. Нужно найти наибольшую квадратную подматрицу, в сторонах которой только единицы.
Формат входного файла
Первая строка входного файла содержит два целых числа N и M. Следующие N строк содержат по M цифр 0 и 1, разделенных пробелом. Если таких квадратов нет, выведите 0.
Формат выходного файла
Выведите одно целое число -- размер максимального квадрата, в сторонах которого только единицы.
Примеры:
Вход 4 5 01111 01011 11001 11111Ответ
4Вход
2 3 000 000Ответ
0Вход
3 3 011 011 010Ответ
2
Замечание
Подзадача 1 — 30 баллов (1≤N,M≤100)
Подзадача 2 — 29 баллов (1≤N,M≤300)
Подзадача 3 — 41 баллов (1≤N,M≤1500)
комментарий/решение
Задача D. Еще одна задача на XOR
Ограничение по времени:
1 секунда
Ограничение по памяти:
64 мегабайта
Вам дан массив A из n неотрицательных целых чисел, посчитайте количество пар чисел 1≤l≤r≤n, таких что X≤A[l] xor A[l+1] xor ... xor A[r], для некоторого заданного целого числа X. xor — операция побитового сложения (в двоичной системе) по модулю два. Результатом этой операции является единица только в том случае, если биты операндов различны. Пример: 1010 xor 2310 = 2910, 10102 xor 101112 = 111012, здесь записано одно и то же равенство в десятичной, а затем в двоичной системе счисления.
Формат входного файла
В первой строке входных данных содержится два целых числа, разделенных пробелом n и 0≤X≤109. В следующей строке заданы n целых чисел разделенных пробелами. Каждое из этих чисел не превосходит 109.
Формат выходного файла
Единственное число, ответ на задачу.
Примеры:
Вход 5 0 1 2 3 4 5Ответ
15Вход
3 3 1 2 3Ответ
2
Замечание
Подзадача 1 — 31 баллов 1≤n≤1000
Подзадача 2 — 69 балла 1≤n≤100000
комментарий/решение(1)
Задача E. Сумма в симпатичной таблице
Ограничение по времени:
1 секунда
Ограничение по памяти:
64 мегабайта
Вам задана прямоугольная таблица A из n строк и m столбцов. В этой таблице ровно n×m ячеек, пронумерованных последовательно натуральными числами сверху вниз, слева направо. A[i][j] будем обозначать ячейку прямоугольной таблицы A стоящей на пересечений i-ой строки и j-го столбца. Для конкретно заданного числа x симпатичной таблицей будет являться таблица A, для которой значения в ячейках таблицы будут равны x в степени номера соответствующей ячейки. Более формально A[i][j]=x(i−1)∗m+j. Даны q запросов границы под прямоугольника x1,x2,y1,y2 и модуль p, ответом на каждый запрос будет сумма чисел в соответствующем под прямоугольнике по соответствующему модулю. Более формально (x2∑i=x1y2∑j=y1A[i][j])mod p. Напишите программу, отвечающую на заданные запросы. Симпатичная таблица A, 3 на 4, для числа x будет выглядеть следующим образом:\\ A=(x1x2x3x4x5x6x7x8x9x10x11x12)
Формат входного файла
В первой строке входных данных заданы три целых числа, разделенных пробелами n,m,x. В следующей строке входных данных задано единственное целое число q. В следующих q строках входных данных заданы запросы, каждый запрос задается пятью числами, разделенных пробелами x1,x2,y1,y2,p, 1≤x1≤x2≤n, 1≤y1≤y2≤m.
Формат выходного файла
Выведите q чисел, по одному на каждой строке, ответы на соответствующие запросы.
Примеры:
Вход 1 10 2 5 1 1 1 1 1000000007 1 1 1 2 1000000007 1 1 1 5 1000000007 1 1 2 4 1000000007 1 1 2 3 1000000007Ответ
2 6 62 28 12
Замечание
Подзадача 1 — 7 баллов n=1, 1≤m≤10, 1≤x≤5, 1≤q≤100, p=109+7
Подзадача 2 — 9 баллов 1≤n≤100, 1≤m≤100, 1≤x≤109, 1≤q≤100, p=109+7
Подзадача 3 — 11 баллов 1≤n≤1000, 1≤m≤1000, 1≤x≤109, 1≤q≤104, p=109+7
Подзадача 4 — 21 баллов 1≤n≤109, 1≤m≤109, 1≤x≤109, 1≤q≤104, p=109+7
Подзадача 5 — 52 баллов 1≤n≤109, 1≤m≤109, 1≤x≤109, 1≤q≤104, 1≤p≤109
комментарий/решение
Задача F. Радость информатика
Ограничение по времени:
3 секунды
Ограничение по памяти:
256 мегабайт
В этом году на олимпиаде по информатике участвуют N учеников. Участники пронумерованы от 1 до N. С новой системой, они видят свои баллы сразу после отправки решения по задаче. От результата проверки, настроение участника может очень сильно измениться. В самом начале олимпиады, настроение всех участников равно единице. Есть история изменений настроения участников. Жюри хочет контролировать настроение всех участников, и просит вас о помощи. У вас есть запросы трех видов: 0 L R P - Жюри хочет знать произведение настроения всех участников, пронумерованных от L до R. Но так как это число может быть слишком большим, надо вывести его по модулю P 1 L R X - Все участники с номерами от L до R узнали результат проверки и настроение каждого из них умножилось на число X 2 L R X - Все участники с номерами от L до R, узнали результат проверки и настроение каждого из них поделилось на число X, гарантируется что настроение каждого участника на этом отрезке делится на число X. Во всех запросах 1≤L≤R≤N.
Формат входного файла
В первой строке вводится число N и M, количество участников и количество запросов.
В следующих M строках описываются запросы
Формат выходного файла
Для каждого запроса типа 0, вывести ответ на отдельной строке.
Примеры:
Вход 5 5 0 1 5 1000000007 1 2 3 6 0 1 5 1000000007 2 2 3 3 0 1 5 1000000007Ответ
1 36 4Вход
3 5 1 1 3 100 0 1 2 10 2 1 3 100 1 2 3 4 0 1 3 10Ответ
0 6
Замечание
В 10\% тестов, 1≤X≤100, P=109+7, 1≤N≤5000, 1≤M≤5000, нет запросов типа 2 (поделить на x)
В 45\% тестов, 1≤X≤100, P=109+7, 1≤N≤5000, 1≤M≤5000
В 100\% тестов, 1≤X≤100, 1≤P≤109, 1≤N≤50000, 1≤M≤50000
комментарий/решение