Чемпионат КРОК 2013 - Раунд 1 |
---|
Закончено |
В задаче используется упрощенная модель адресов в TCP/IP, внимательно прочтите условие.
IP-адрес — это 32-битное число, представленное в виде четверки десятичных 8-битных чисел (без лидирующих нулей), записанных через точку. Например, запись 0.255.1.123 обозначает корректный IP-адрес, а записи 0.256.1.123 и 0.255.1.01 — нет. В данной задаче произвольная четверка 8-битных чисел является корректным IP-адресом.
Наш герой Поликарп до сих пор работает системным администратором в некоторой большой корпорации. Ему нравятся красивые IP-адреса. Чтобы проверить, является ли некоторый IP-адрес красивым, нужно сделать следующее:
Напомним, что палиндромом называется строка, которая одинаково читается справа налево и слева направо.
Например IP-адреса 12.102.20.121 и 0.3.14.130 являются красивыми (поскольку строки «1210220121» и «0314130» являются палиндромами), а IP-адреса 1.20.20.1 и 100.4.4.1 — нет.
Поликарп хочет найти все красивые IP-адреса, в которых встречается заданный набор цифр. Каждая цифра из набора должна встречаться в IP-адресе не менее одного раза, никакие другие цифры не должны встречаться в IP-адресе. Помогите ему справиться с этой нелегкой задачей.
В первой строке задано единственное целое число n (1 ≤ n ≤ 10) — количество цифр в наборе. Во второй строке задан набор цифр a1, a2, ..., an (0 ≤ ai ≤ 9). Гарантируется, что все цифры в наборе различны.
В первую строку выведите единственное число k — количество красивых IP-адресов, которые содержат заданный набор цифр. Далее в k строк выведите сами IP-адреса по одному в строке в произвольном порядке.
6
0 1 2 9 8 7
6
78.190.209.187
79.180.208.197
87.190.209.178
89.170.207.198
97.180.208.179
98.170.207.189
1
4
16
4.4.4.4
4.4.4.44
4.4.44.4
4.4.44.44
4.44.4.4
4.44.4.44
4.44.44.4
4.44.44.44
44.4.4.4
44.4.4.44
44.4.44.4
44.4.44.44
44.44.4.4
44.44.4.44
44.44.44.4
44.44.44.44
Название |
---|