Игра в города - 1
Известная игра в города устроена следующим образом: первый участник называет
какой-нибудь город, следующий - город, название которого начинается на ту же
букву, на какую кончается название предыдущего города и т.д. Таким же образом
можно играть, например, не в города, а, например, в названия животных.
Вам дан словарик из допустимых для игры слов. Определить, возможно ли сыграть
в эту игру так, чтобы каждое слово было использовано ровно один раз.
Входные данные
В первой строке входного файла записано
число N - количество слов в словаре, а в последующих N строках -
сами слова (1≤N≤1000). Каждое слово состоит не более чем из 10 маленьких
латинских букв. Слова в словаре расположены в произвольном порядке. Если
какое-то слово в словаре встречается несколько раз, то это означает, что в
процессе игры оно должно быть использовано такое же количество раз.
Выходные данные
В выходной файл вывести слова в том
порядке, в каком они должны быть названы в процессе игры (вывести любой
вариант), или сообщение "NO", если такая игра невозможна.
Пример входного и выходного файлов
INPUT.TXT |
OUTPUT.TXT |
6
aaa
baba
aaa
aab
aaab
mama
|
mama
aaa
aab
baba
aaa
aaab
|
4
mama
mama
papa
arbat
|
NO
|
Игра в города - 2
См. условие задачи "Игра в города - 1", однако требуется из заданных слов
построить как можно более длинную цепочку для игры в такую игру
Входные данные
Такие же как в задаче "Игра в города -
1".
Выходные данные
В выходной файл вывести длину цепочки,
а затем слова в том порядке, в каком они должны быть названы в процессе игры
(вывести любой вариант).
Пример входного и выходного файлов
INPUT.TXT |
OUTPUT.TXT |
6
aaa
baba
aaa
aab
aaab
mama
|
6
mama
aaa
aab
baba
aaa
aaab
|
4
mama
mama
papa
arbat
|
2
mama
arbat
|
Корни многочлена
Напишите программу, которая ищет все рациональные решения уравнения
anxn+an-1xn-1+...+a1x+a0
= 0 .
Входные данные
Во входном файле записано число
n (степень многочлена), 1≤n≤10, и коэффициенты многочлена в
порядке an, an-1, ..., a1, a0
(|ai|<1000). Все коэффициенты - целые числа.
Выходные данные
В выходной файл вывести все различные
рациональные корни многочлена в возрастающем порядке. Каждое рациональное число
выводится в отдельной строке в виде пары целых чисел - числителя и знаменателя,
разделенных пробелом. При этом дробь должна быть несократимой, и знаменатель -
быть строго больше нуля. Если рациональных корней нет, вывести сообщение "NO
SOLUTION".
Пример входного и выходного файлов
INPUT.TXT |
OUTPUT.TXT |
6
1 0 -7 5 0 7 -6
|
-3 1
1 1
2 1
|
Игра в 16
Рассмотрим следующую игру: двое по очереди заполняют таблицу 4x4 числами от 1
до 16, причем каждое из этих чисел можно использовать только один раз. Когда вся
таблица заполнена, игроки вычисляют каждый свое число. Первый игрок считает
произведения чисел в каждой строке и берет сумму этих произведений, а второй
игрок - произведения чисел в каждом столбце и берет опять же сумму этих
произведений. Чье число больше - тот и победил.
Напишите программу, которая совершает один ход за первого игрока (но при этом
вы НЕ можете предполагать, что на данный момент в таблице занято четное
количество клеток).
Входные данные
Во входном файле записано текущее
состояние таблицы 4х4, свободные клетки отмечены числом 0. Все числа разделяются
пробелами и (или) символами перевода строки.
Выходные данные
Ваша программа должна, играя за
первого игрока, совершить один ход и в выходной файл записать состояние таблицы
после вашего хода (помечая свободные клетки, как и прежде 0).
Тестирование задачи
Тестирование будет проводиться
путем игры вашей программы с программой соперника. На вход первому игроку будет
подаваться пустая таблица. Таблица, получившаяся после первого хода, будет
отражаться симметрично относительно главной диагонали, и подаваться на вход
второму игроку. Таблица, получившаяся после его хода - вновь отражаться
относительно главной диагонали и снова подаваться на вход первому, и т.д. Кто в
конце концов выиграет, тот и получит баллы за тест.
Вы не имеете права создавать временные файлы.
Пример входного и выходного файлов
INPUT.TXT |
OUTPUT.TXT |
1 2 3 4
5 6 7 8
9 10 11 12
0 0 0 16
|
1 2 3 4
5 6 7 8
9 10 11 12
15 0 0 16
|