Top.Mail.Ru
Ответы
Аватар пользователя
7лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Задача "Поиск красивых чисел"

Дано два списка различных ненулевых цифр.

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

Входные данные
В первой строке даны числа n, m (1 ≤ n, m ≤ 9) – длины первого и второго списка соответственно.

Во второй строке через пробел даны n различных целых цифр a1, a2, ..., an (1 ≤ ai ≤ 9) – элементы первого списка.

В третьей строке через пробел даны m различных целых цифр b1, b2, ..., bm (1 ≤ bi ≤ 9) – элементы второго списка.

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

Примеры
входные данные
2 3
4 2
5 7 6
выходные данные
25
входные данные
8 8
1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1
выходные данные
1

Примечание
В первом примере красивыми являются числа 25, 46, 24567 и многие другие. Из них минимальным является 25. 42 и 24 не являются красивыми, так как в них отсутствуют цифры из второго списка.

Во втором примере красивыми являются все числа, в чьей записи встречаются не только цифры 9. Очевидно, минимальным из таких чисел является 1, так как это минимальное натуральное число.

По дате
По рейтингу
Аватар пользователя
Новичок
7лет

Что интересно, для Питона первая строка совершенно лишняя, и её данные не нужны:
========================
_1, _2 = map(int, input().split())

s1 = set(map(int, input().split()))
s2 = set(map(int, input().split()))

intersect = s1 & s2

if len(intersect) > 0:
print (min(intersect))
else:
m1, m2 = min(s1), min(s2)
print(m1 + m2 + 9 * min(m1,m2))

Аватар пользователя
Мудрец
7лет

Если 2 списка имеют пересечение, то нужно вывести минимальное из чисел пересечения.
Если пересечение пусто, то надо выбрать минимальное из первого списка - A и минимальное из второго списка - B, а вывести надо минимальное из 10*A+B и 10*B+A