Темы
    Информатика(2656 задач)
---> 167 задач <---
Источники --> Командные олимпиады --> Командные чемпионаты школьников Санкт-Петербурга по программированию
    1999(5 задач)
    2000(7 задач)
    2001(8 задач)
    2002(8 задач)
    2003(9 задач)
    2004(9 задач)
    2005(10 задач)
    2006(10 задач)
    2007(10 задач)
    2008(9 задач)
    2009(10 задач)
    2010(10 задач)
    2011(9 задач)
    2012(10 задач)
    2013(10 задач)
    2014(11 задач)
    2015(11 задач)
    2016(11 задач)
Страница: << 17 18 19 20 21 22 23 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Недавно на уроках ИЗО Казимиру рассказали о различных направлениях искусства. Больше всего его впечатлил супрематизм, и он решил нарисовать свою первую картину в этом стиле.

Казимир помнил, что в супрематизме картина состоит из простых фигур, поэтому, сначала он нарисовал прямоугольник \(n \times m\), составленный из разноцветных квадратов \(1 \times 1\). После критического переосмысления своего творения, Казимир пришел к выводу, что получившаяся картина слишком сложна, и не все смогут понять его задумку. Второго холста у него не было, и он решил исправлять эту картину. На достаточно простой картине, по мнению Казимира, должен присутствовать всего один цвет.

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

Помогите Казимиру определить, cможет ли он с помощью этих операций исправить свою картину и сделать ее достаточно простой.

Входные данные

В первой строке заданы два числа \(n\) и \(m\) (\(1 \le n, m \le 300\)) - размеры картины. Далее, в \(n\)~строках задано по \(m\) чисел \(c_{i,j}\) (\(1 \le c_{i,j} \le 1\,000\,000\)) - цвета квадратов, из которых составлена картина. Гарантируется, что на картине представлено хотя бы два цвета.

Выходные данные

Если Казимиру не удастся сделать картину достаточно простой, выведите "Poor Kazimir".

Иначе, выведите в первой строке \(k\) - количество действий, которое нужно сделать Казимиру. Действия могут быть двух видов:

  • \(R\) \(r\) - перекрасить строку \(r\) (\(1 \le r \le n\)).
  • \(C\) \(c\) - перекрасить столбец \(c\) (\(1 \le c \le m\)).

Разрешается сделать не более 1000 действий.

Примеры
Входные данные
3 3
1 1 2
2 1 1
2 2 2
Выходные данные
5
R 1
R 2
C 1
C 2
C 3
Входные данные
3 3
1 1 2
2 1 1
2 2 2
Выходные данные
5
R 1
R 2
C 1
C 2
C 3
Входные данные
2 2
1 2
3 4
Выходные данные
Poor Kazimir
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Сегодня Маша принимает гостей. Включая Машу, в празднике принимает участие \(n\) человек, которые расселись по кругу за большим круглым столом.

Разумеется, Маша хочет пообщаться со многими гостями, но кричать через весь стол неудобно. Тогда она быстро придумала решение проблемы: иногда она просит соседа слева или справа от неё поменяться с ней местами. Гости, разумеется, любезно соглашаются на её просьбу.

Проводив гостей, Маша вспомнила, что забыла телефон на месте, на котором она сидела в конце мероприятия. Маша не помнит, на каком месте она сидела в конце, зато помнит, на каком месте она сидела в начале, а также помнит, что она ровно \(k\) раз менялась местами с одним из соседей. Теперь она хочет узнать количество мест, на которых она могла оказаться в конце вечера.

Входные данные

Входные данные содержат два натуральных числа \(n\) и \(k\) — количество мест за столом и число раз, которое Маша менялась местами с одним из своих соседей (\(3 \le n \le 10^9 , 0 \le k \le 10^9\) ).

Выходные данные

Выведите одно число — количество мест, на которых Маша могла оказаться в конце мероприятия.

Замечание

В первом примере, два раза поменявшись местами с одним из своих соседей, Маша могла оказаться либо на исходном месте, либо на одном из двух мест, находящихся через одно от исходного. Во втором примере Маша могла оказаться на любом месте.

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Каждое утро жители столицы Берляндии вынуждены стоять в ужасных пробках по дороге на работу. Особенно сильно эти пробки заметны на центральной площади столицы, которая представляет собой перекресток, да еще и нерегулируемый — берляндцы стремятся сохранить нетронутым исторический облик центра города.

Решив заняться исследованием ситуации, мэр столицы поручил изучить, как именно скапливаются пробки. Ведь на перекрестке запрещены повороты, таким образом, машины могут проезжать перекресток только прямо. Установив специальные датчики, специалисты выяснили, что каждое утро перекресток пытаются проехать n машин. К перекрестку подходят улицы с четырех сторон: если посмотреть на карту, то эти улицы идут в направлении вверх «U», влево «L», вниз «D» и вправо «R». На каждой из улиц в процессе проезда перекрестка может скапливаться очередь из машин.

Каждый водитель при подъезде к перекрестку действует следующим образом: \(i\)-й водитель подъезжает к перекрестку в начале \(t_i\)-й секунды, встает в конец очереди на этой улице и анализирует ситуацию.

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

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

По данным о времени, когда водители подъезжали к перекрестку, помогите выяснить, когда каждый из них проедет перекресток. Обратите внимание, что некоторые водители могут так и не проехать перекресток, оставшись в очереди перед ним.

Входные данные

Первая строка содержит целое число n — количество машин, подъезжающих к перекрестку (\(1 \le n \le 10^5\) ).

В каждой из следующих n строк содержится число \(t_i\) и символ \(d_i\) — номер секунды, в начале которой \(i\)-я машина подъезжает к перекрестку, и направление, в котором она пытается его проехать (\(0 \le t_i \le 10^9\) , \(d_i\) равно «U», если машина едет вверх по карте, «L», если машина едет влево, «D», если вниз, и «R», если вправо). Машины во вводе заданы в порядке неубывания \(t_i\)

. Гарантируется, что в каждый момент времени с каждой стороны подъезжает не более одной новой машины.

Выходные данные

Для каждой машины в порядке их описания во вводе выведите в отдельной строке номер секунды, когда она проедет перекресток. Если машина останется стоять на перекрестке, выведите в соответствующей строке число −1.

ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Гидеон нашел древний свиток, позволяющий активировать мощнейшее заклинание, которое помогает решить любую задачу. Осталось провести ритуал.

На свитке изображена прямоугольная таблица, содержащая \(n\) строк и \(m\) столбцов, в каждой ячейке которой написана латинская буква. Заклинание представляет собой строку, также состоящую из латинских букв. Чтобы активировать заклинание, необходимо бесконечное число раз произнести эту строку, перемещая при этом конец волшебной палочки по таблице на свитке вдоль подходящей циклической последовательности ячеек.

Назовем циклической последовательностью ячеек такую последовательность ячеек \((x_1, y_1),(x_2, y_2)\dots(x_k, y_k)\), что каждая пара соседних в последовательности ячеек, а также первая и последняя ячейки в последовательности, не совпадают и имеют общую сторону. Таким образом, при перемещении конца волшебной палочки вдоль последовательности, каждый раз необходимо переместиться в соседнюю ячейку вверх, влево, вправо или вниз, а в конце — вернуться в начальную ячейку. При этом одна и та же ячейка может встречаться в последовательности несколько раз.

Для активации заклинания требуется найти такую циклическую последовательность ячеек, что если одновременно делать следующее: произность бесконечное число раз строку заклинания, по одному символу в секунду, и, начав с первой ячейки, каждую секунду до бесконечности перемещать конец волшебной палочки к следующей ячейке в последовательности (после последней ячейки следует снова перейти к первой ячейке), то буквы заклинания и буквы в ячейках таблицы всегда будут совпадать.

Помогите Гидеону найти подходящую циклическую последовательность, либо выясните, что та- кой последовательности не существует.

Входные данные

Первая строка содержит целые числа \(n\), \(m\) и \(l\) — высоту и ширину таблицы, а также длину заклинания, соответственно (\(2 \le n, m \le 200, 1 \le l \le 200\)).

В следующих \(n\) строках содержится по \(m\) строчных латинских букв — содержимое таблицы.

В последней строке содержится строка из \(l\) строчных латинских букв — заклинание.

Выходные данные

Если искомой последовательности не существует, в единственной строке выведите «NO».

Иначе, в первой строке выведите «YES». Во второй строке выведите \(k\) — длину последовательности, \(k\) не должно превышать \(10^7\) . Гарантируется, что если ответ существует, то существует ответ с \(k\), не превышающим \(10^7\) .

В третьей строке выведите координаты первой ячейки последовательности: сначала номер строки, а потом номер столбца, на пересечении который находится эта ячейка. Наконец, в последней строке выведите строку длины \(k\), состоящую из символов «U», «L», «D», «R», которая описывает последовательность перемещения конца волшебной палочки по ячейкам в искомой циклической последовательности.

Символ «U» соответствует переходу из текущей ячейки в соседнюю сверху, символ «L» — в соседнюю слева, «D» — в соседнюю снизу, а «R» — в соседнюю справа.

После переходов по всем символам необходимо вернуться в исходную ячейку. Выходить за границы поля не разрешается.

Если ответов несколько, выведите любой.

Замечание

Пояснение к третьему тесту. По определению, последовательность из одной ячейки не является циклической, поэтому решения не существует.

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

В Санкт-Петербурге открывают новую станцию метро, и для нее требуется произвести эскалатор. Эскалатор состоит из \(n\) ступенек, пронумерованных целыми числами от 1 до \(n\). Традиционно на ступеньках с номерами, кратными десяти, а также на первой и последней ступеньке, пишут их номера. При записи номера на каждую записанную цифру уходит одно и то же количество краски.

Чтобы рассчитать необходимое количество краски, требуется узнать, сколько цифр будет написано. Напишите программу, которая определяет, сколько всего цифр будет использовано в номерах подписанных ступенек.

Входные данные

Во входном файле задано одно целое число \(n\) — количество ступеней эскалатора (\(1 \le n \le 10^{12}\)).

Выходные данные

Выведите суммарное количество цифр в номерах подписанных ступенек.

Замечание

В первом примере номера будут написаны на ступеньках 1, 10, 20; во втором — 1, 10, 20, 23.


Страница: << 17 18 19 20 21 22 23 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест