---> 97 задач <---
    1999(7 задач)
    2000(8 задач)
    2001(8 задач)
    2002(9 задач)
    2003(9 задач)
    2004(10 задач)
    2005(10 задач)
    2006(10 задач)
    2007(11 задач)
    2008(10 задач)
    2009(11 задач)
    2010(11 задач)
    2011(11 задач)
    2012(11 задач)
    2013(11 задач)
    2014(11 задач)
    2015(11 задач)
    2016(11 задач)
Страница: << 4 5 6 7 8 9 10 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Дано выражение p1/p2/.../pn. Требуется определить, сколько различных значений и целых значений оно может принимать при всевозможных расстановках скобок.

Известно, что сложение и умножение являются ассоциативными операциями. Это значит, что значение выражений вида \(a_1\) + \(a_2\) +...+ \(a_n\) и \(a_1\) . \(a_2\) . ... . \(a_n\) не зависит от порядка выполнения в них действий и, следовательно, не меняется при произвольной расстановке в этих выражениях скобок.

В отличие от сложения и умножения, деление – операция не ассоциативная. Так, значение выражения вида \(a_1\)/\(a_2\)/ ... /\(a_n\) может меняться при расстановке в нем скобок.

Рассмотрим выражение вида

\(p_1\)/\(p_2\)/ ... /\(p_n\),

где все \(p_i\) – простые числа (не обязательно различные). Найдите количество возможных значений, которые может принять указанное выражение после расстановки в нем скобок, а также количество целых чисел среди этих значений. Например, выражение 3/2/2 после расстановки скобок может принять два значения: 3/4 = (3/2)/2 и 3 = 3/(2/2).

В первой строке вводится число \(n\) ( 1\( \le\)n\( \le\)200). Следующая строка содержат \(n\) натуральных чисел – \(p_1\), \(p_2\),..., \(p_n\). Все числа \(p_i\) простые и не превосходят \(10^4\).

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

В первой строке выведите количество возможных значений, которые может принять выражение \(p_1\)/\(p_2\)/ ... /\(p_n\) при заданных \(p_i\) после расстановки в нем скобок. Во второй строке выведите количество целых чисел среди этих значений.

Примеры
Входные данные
3
3 2 2
Выходные данные
2
1
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Дан полный граф, в котором все ребра покрашены в белый или черный цвет. Необходимо построить минимальное контролирующее в белом или черном графе.

В одном магическом королевстве есть \(N\) городов, каждые два из которых соединены дорогой. Эти дороги были построены в давние времена Светлыми и Темными силами. Дороги, которые были построены Светлыми силами, вымощены белыми камнями, а те, что построены Темными – черными. Поскольку магические чары охраняют дороги, ни одно доброе существо не может пройти по дороге, вымощенной черными камнями, и ни одно злое – по белой дороге.

Когда-то давно люди решили избрать своих правителей и изгнали верховных магов из королевства. Однако недавно верховные маги Светлых и Темных сил договорились вернуть королевство под свой контроль. Для этого они хотят направить в некоторые города королевства магов, которые возьмут эти и смежные с ними города под свой контроль.

Точнее, если светлый маг будет направлен в некоторый город, то он возьмет под свой контроль этот город и все города, которые напрямую соединены с ним белыми дорогами. Аналогично, черный маг помимо города, в который он направлен, будет контролировать все города, напрямую соединенные с ним черными дорогами. Для захвата королевства требуется установить контроль над всеми городами.

Однако, при разработке плана захвата обнаружилось две трудности. Во-первых, выяснилось, что маг согласен принять участие в операции только если все маги, которые будут направлены в королевство, будут представлять ту же силу, что и он. То есть либо все участвующие в захвате маги должны быть светлыми, либо все они должны быть темными. Во-вторых, общее число магов, которые могут быть направлены в королевство не должно превышать K. Единственная надежда верховных магов заключается в том, что K достаточно велико, \(2^K\) >= \(N\).

Выясните, светлых или темных магов следует использовать для захвата королевства, а также в какие города их следует направить.

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

В первой строке вводятся целые числа \(N\) и \(K\) ( \(2 \le N \le 256\), \(2^K\) \(\ge\) \(N\), \(K \le N\)).

Следующие \(N\) строк содержат по \(N\) целых чисел каждая. На \(i\)-ой позиции \(i\)-ой из этих строк расположено число 0, которое означает, что город не соединен дорогой сам с собой. Для всех \(j \neq i\) число на \(j\)-ой позиции \(i\)-ой из этих строк равно 1, если \(i\)-ый город соединен с \(j\)-ым белой дорогой, и равно 2, если они соединены черной дорогой. Числа в строках разделены пробелами.

Гарантируется, что входные данные корректны, то есть если \(i\)-ый город соединен с \(j\)-ым белой дорогой, то и \(j\)-ый соединен с \(i\)-ым белой дорогой, аналогично в случае черных дорог.

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

Если захватить королевство при заданных условиях невозможно, выведите единственное число 0. В противном случае в первой строке выведите 1, если удастся захватить королевство с использованием светлых магов, и 2, если требуется использовать черных магов. В следующей строке выведите число L\( \le\)K – количество использованных магов. Третья строка должна содержать \(L\) целых чисел – номера городов, в которые следует направить магов. Заметьте, что вам не требуется минимизировать \(L\). Если решений несколько, выведите любое.

Примеры
Входные данные
8 3
0 1 1 1 1 2 2 2
1 0 1 1 2 1 2 2
1 1 0 1 2 2 1 2
1 1 1 0 2 2 2 1
1 2 2 2 0 2 1 1
2 1 2 2 2 0 2 1
2 2 1 2 1 2 0 2
2 2 2 1 1 1 2 0
Выходные данные
1
3
1 5 2 
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Дан точечный источник света и многоугольник. Необходимо пройти от заданной точки до ближайшей освещенной точки, не проходя через дом.

В точке (0, 0) координатной плоскости расположена лампочка, которая представляет собой точечный источник света. Неподалеку от лампочки находится дом Пети, который представляет собой выпуклый многоугольник с \(N\) вершинами. Сам Петя находится в точке с координатами (\(x\), \(y\)).

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

Петя может перемещаться по плоскости со скоростью \(v\). Разумеется, Петя не может проходить сквозь дом (хотя он может двигаться по его границе).

Выясните, какое минимальное время требуется Пете, чтобы оказаться в освещенной точке.

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

В первой строке вводятся координаты Пети – два неотрицательных вещественных числа, не превышающих 1000, и его скорость v – вещественное число, 10-2\( \le\) v\( \le\) \(10^4\).

Вторая строка содержит \(N\) – число вершин в многоугольнике, задающем Петин дом ( 3\( \le\)N\( \le\)100). Далее в \(N\) строках вводится по два вещественных числа – координаты вершин многоугольника в порядке их обхода против часовой стрелки. Все координаты неотрицательны и не превышают 1000.

Гарантируется, что входные данные корректны, в частности, многоугольник выпуклый, и никакие три его последовательные вершины не лежат на одной прямой. Также гарантируется, что и Петя, и лампочка находятся снаружи от многоугольника, в частности, не находятся на его границе. Расстояние от точки, где находится Петя, до многоугольника и от начала координат до многоугольника не меньше 10-2, расстояние от Пети до начала координат не меньше 10-2.

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

Выведите минимальное время, за которое Петя сможет попасть в освещенную точку. Ваш ответ должен отличаться от правильного не более чем на 10-4.

Примеры
Входные данные
3.5 3.5 1.0
4
2.0 0.0
4.0 2.0
2.0 4.0
0.0 2.0
Выходные данные
3.58113883008418967000
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Вершины графа находятся в точках пересечения линий сетки, а горизонтальные или вертикальные ребра единичной длины существуют только между ближайшими вершинами. Необходимо пройти по каждому ребру как минимум один раз совершив как можно меньше переходов.

Недавно Билл устроился на работу полицейским. Теперь ему предстоит каждый вечер обходить свой участок, который представляет собой прямоугольник, состоящий из N×M кварталов. Каждый квартал имеет вид квадрата размером 100×100 метров, кварталы отделены друг от друга прямыми улицами.

Таким образом, через участок Билла проходит \(N\) + 1 улица, идущая с запада на восток и \(M\) + 1 улица, идущая с севера на юг. Перекрестки разбивают улицы на (\(N\) + 1)\(M\) + (\(M\) + 1)\(N\) отрезков, каждый из которых имеет длину 100 метров.

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

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

Вводятся целые числа N и M, разделенные пробелом (1\( \le\)N, M\( \le\)10 000).

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

Выведите минимальное время, за которое Билл может совершить обход.

Пояснение ко второму примеру

Один из возможных оптимальных путей для Билла во втором примере показан на рисунке.

Примеры
Входные данные
1 1
Выходные данные
4
Входные данные
2 2
Выходные данные
16
Входные данные
3 4
Выходные данные
38
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Дана запись таблицы, в формате, похожем на csv. Необходимо для каждой ячейки определить, какой тип в ней хранится.

Электронная таблица представляет собой прямоугольную таблицу, левая и верхняя граница которой зафиксированы, а правая и нижняя отсутствуют, таким образом, таблица бесконечна вправо и вниз. В каждой ячейке таблицы может быть записано какое-либо значение. Значение ячейки – это произвольная последовательность символов с кодами от 32 до 126.

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

Значения соседних ячеек при записи в файл разделяются между собой символом ","(запятая), строки таблицы отделяются друг от друга символом ";" (точка с запятой). После последней клетки идет символ "." (точка). За каждым из этих символов может немедленно следовать один перевод строки, который должен игнорироваться. Другие переводы строки во файле не встречаются.

Если в значении ячейки встречается один из символов ",", ";", ".'"или "\", то в файл записывается два символа – сначала "\", а затем данный символ. Соответственно, запятая, точка с запятой и точка, которые идут непосредственно после "\", не являются разделителями значений ячеек. В частности, после них не может следовать перевода строки.

Каждая ячейка относится к одному из трех типов: числовая, строковая, пустая. Пустая ячейка – это ячейка, значение которой является пустой строкой. Числовая ячейка содержит целое число из диапазона от -32768 до 32767 включительно. Число должно быть записано без ведущих нулей и лишних знаков "+" или "-" (знак "-'" должен быть только у отрицательных чисел, причем ровно один). Любая другая ячейка относится к строковому типу. Так, например, к строковому типу относятся ячейки, содержащие следующие значения: 01 (включает ведущий нуль), 55000 (не входит в указанный диапазон), а также ячейка, содержащая один символ "пробел".

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

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

На вход программы поступает электронная таблица, размер входных данных не превышает 32767 байт.

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

Для всех столбцов, начиная с первого, и до последнего непустого столбца, выведите их тип, разделив значения запятыми, и в конце поставьте точку. В качестве типа столбца выведите одно из следующих значений: "EMPTY'', если столбец является пустым, "NUMBER'', если столбец является числовым, "STRING'', если столбец является строковым.

Пояснение к первому примеру

Таблица для первого примера приведена ниже. Символ "пробел" обозначен как □

Примеры
Входные данные
;,12;,, ;
;,17,2,,-1\.0.
Выходные данные
EMPTY,NUMBER,STRING,EMPTY,STRING.
Входные данные
.
Выходные данные
.

Страница: << 4 5 6 7 8 9 10 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест