Темы
    Информатика(2656 задач)
---> 10 задач <---
Страница: 1 2 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Дан невзвешенный граф, у которого вершины раскрашены в один из трех цветов. Необходимо перекрасить вершины графа таким образом, чтобы не было двух соседних вершин одного цвета, а также каждая вершина изменила цвет.

Петя нарисовал на бумаге n кружков и соединил некоторые пары кружков линиями. После этого он раскрасил каждый кружок в один из трех цветов – красный, синий или зеленый.

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

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

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

В первой строке вводятся два целых числа n и m – количество кружков и количество линий, которые нарисовал Петя, соответственно ( 1\( le\)n\( le\)1 000, 0\( le\)m\( le\)20 000).

Следующая строка содержит n символов из множества {'R', 'G', 'B'} – i-й из этих символов означает цвет, в который раскрашен i-й кружок ('R' – красный, 'G' – зеленый, 'B' – синий).

Далее в m строках задается по два целых числа – пары кружков, соединенных отрезками.

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

Выведите  одну строку, состоящую из n символов из множества {'R', 'G', 'B'} – цвета кружков после перекраски. Если решений несколько, выведите любое.

Если решения не существует, выведите  слово "Impossible''.

Примеры
Входные данные
4 5
RRRG
1 3
1 4
3 4
2 4
2 3
Выходные данные
GGBR
Входные данные
4 5
RGRR
1 3
1 4
3 4
2 4
2 3
Выходные данные
Impossible
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Даны эльфы, обладающие темпераментом Bi и олени со строптивостью Ai. С каждым оленем должны ехать два эльфа, причем Bk < Ai < Bj. Необходим выбрать наибольшее количество оленей.

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

Но волшебные олени – строптивые животные, поэтому не любые два эльфа могут ехать на любом олене. А именно, каждый олень характеризуется некоторой строптивостью ai, а каждый эльф – темпераментом bi. Два эльфа j и k могут ехать на i-м олене в том и только в том случае, если либо \( b_j \lt a_i \lt b_k \), либо \( b_k \lt a_i \lt b_j\).

Чтобы его появление было максимально зрелищным, Санта-Клаус хочет, чтобы в его упряжке было как можно больше оленей. Про каждого оленя Санта знает его строптивость, а про каждого эльфа – его темперамент.

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

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

В первой строке вводятся два целых числа m и n – количество оленей и эльфов, соответственно \( (1 \le m, n \le 100 000) \).

Вторая строка содержит m целых чисел ai – строптивость оленей \( (0 \le a_i \le 10^9) \). В третьей строке записаны \(n\) целых чисел \(b_i\) – темперамент эльфов \( (0 \le b_i \le 10^9) \).

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

В первой строке  выведите одно число k – максимальное количество оленей, которое Санта-Клаус может включить в свою упряжку. В следующих k строках выведите по три целых числа: di, ei, 1, ei, 2 – для каждого оленя в упряжке выведите его номер и номера эльфов, которые на нем поедут. Если решений несколько, выведите любое.

И эльфы, и олени пронумерованы, начиная с единицы, в том порядке, в котором они заданы во входных данных.

Примеры
Входные данные
4 6
2 3 4 5
1 3 2 2 5 2
Выходные данные
2
1 1 2
2 4 5
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Задано дерево зависимостей частей эксперимента (т.е. какие действия необходимо выполнить до данного). Также для каждого действия определено, на какой установке (всего 2) оно делается. Требуется определить порядок действия, чтобы минимизировать количество переходов между установками.

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

Эксперимент разбит на некоторое количество этапов, при этом некоторые из них могут быть выполнены только после завершения определенного набора других этапов. Правда известно, что хотя бы один способ проведения эксперимента существует. На каждом этапе Игорь должен управлять ровно одной из двух установок – либо генератором, либо манипулятором.

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

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

В первой строке вводится целое число n – количество этапов эксперимента ( 1\( le\)n\( le\)100).

Следующие n строк содержат описание этапов. Пронумеруем этапы от 1 до n в некотором произвольном порядке. Тогда i-я из этих строк описывает i-й этап. Каждый этап описывается последовательностью целых чисел. Первое число равно нулю, если на этом этапе Игорь управляет генератором, и единице, если он управляет манипулятором. Затем записано целое число ri – количество этапов, которые должны быть выполнены перед выполнением данного. За ним следуют номера этих этапов – ri различных целых чисел в диапазоне от 1 до i - 1.

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

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

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

Во Флатландии n городов, расположенных в различных точках плоскости. Известно, что никакие три города не лежат на одной прямой.

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

Завод, выполняющий этот госзаказ, подготовил проект сети шоссе. Проект представляет собой описание n - 1 шоссе. Каждое шоссе задается городами, которые оно соединяет. В целях секретности вместо названий городов в проекте были использованы коды – числа от 1 до n.

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

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

Ваша задача – таким образом сопоставить числам от 1 до n города, чтобы после реализации проекта шоссе не пересекались вне городов, которые они соединяют.

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

В первой строке вводится целое число n – количество городов во Флатландии ( 2\( le\)n\( le\)1500).

Далее следует n описаний городов. Описание каждого города состоит из двух строк. Первая строка содержит название города – строку, состоящую из символов с ASCII-кодами от 33 до 127. Названия различных городов не совпадают. Длина названия города не превышает 60 символов. Вторая строка описания города содержит два целых числа x и y – координаты города. Координаты не превышают 104 по абсолютной величине.

Далее следуют n - 1 строк, которые описывают проект строительства сети шоссе в его текущем состоянии. Каждая строка содержит по два целых числа – номера городов, соединенных шоссе в проекте. Никакое шоссе в проекте не соединяет город сам с собой, никакие два города не соединены более, чем одним шоссе.

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

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

Если решения не существует, выведите строку «No solution».

includegraphics{pics/highways.1}
Примеры
Входные данные
7
Moscow
2 2
St-Petersburg
0 4
Kirov
6 3
Saratov
5 0
Rybinsk
1 1
Petrozavodsk
2 6
Barnaul
10 -1
1 2
2 4
3 5
4 3
4 7
3 6
Выходные данные
St-Petersburg
Rybinsk
Kirov
Saratov
Moscow
Petrozavodsk
Barnaul
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Необходимо по заданному автомобильному номеру (3 буквы и 3 цифры в формате БЦЦЦББ) подсчитать и вывести все возможные номера, получаемые перестановкой этих букв и цифр.

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

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

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

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

В номере могут использоваться следующие буквы: «A», «B», «C», «E», «H», «K», «M», «O», «P», «T», «X», «Y» (эти буквы имеют схожие по написанию аналоги как в русском, так и в латинском алфавите). В этой задаче во входных данных будут использоваться буквы латинского алфавита.

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

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

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

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

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

Примеры
Входные данные
X772KX
Выходные данные
9
X277XK
X277KX
X727XK
X727KX
X772XK
X772KX
K277XX
K727XX
K772XX

Страница: 1 2 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест