27.06 Доминошки
Ошибка.
Попробуйте повторить позже
На столе выложили цепочку из N костяшек по принципу домино. Под костяшкой понимается пара любых
неотрицательных чисел, каждое не превышает 100. В наборе могут быть одинаковые костяшки. Переставлять местами
костяшки нельзя, но можно поворачивать любое количество костяшек, получая, например, из костяшки 1-2
костяшку 2-1. Определите максимальную длину цепочки костяшек домино, которую можно получить с помощью
переворачиваний. Под цепочкой понимается последовательность костяшек, в которой второе число первой
костяшки равно первому числу второй. Кроме того, может встретиться число 0, оно образует пару с любым
числом, в том числе и с собой. То есть последовательность собрать
можно.
Входные данные
Дан входной файл, он содержит в первой строке количество пар
. Каждая из следующих
строк содержит два натуральных числа, не превышающих
.
В ответе укажите одно число: искомое значение для файла.
Решение 1 (Excel):
Скопируем все числа из файла и перенесем их в Excel с помощью специальной вставки. Для этого в левом верхнем углу
в разделе Главное нажмем вставить, выберем Использовать мастер импорта текста, в новом окне выберем с
разделителем пробел
Готово.
Удалим первое число, отвечающее за количество доминошек, и для удобства назовем столбы в соответствии с их назначениями.
Вставим пустую строку между первой и второй строками. Для этого нажмём правой кнопкой мыши на цифру, отвечающую за вторую строку, и нажмем Вставить
Заполним строки и
так, как показано на изображении. Это необходимо для того, чтобы мы не заполнили эти
ячейки формулами, ведь в таком случае Excel будет выдавать ошибку, так как формулы будут ссылаться не на числовые
значения, а на текст.
Напишем формулу в ячейку =МАКС(ЕСЛИ(A4=B3;C3+1;1);ЕСЛИ(A4=A3;D3+1;1);ЕСЛИ(A4=0;МАКС(C3:D3)+1;1)),
скопируем её на весь столбец
Напишем формулу в ячейку =МАКС(ЕСЛИ(B4=B3;C3+1;1);ЕСЛИ(B4=A3;D3+1;1);ЕСЛИ(B4=0;МАКС(C3:D3)+1;1)),
скопируем её на весь столбец
Находим максимум из столбцов и
с помощью формулы =МАКС(C3:D100002). Полученное значение запишем в
ответ.
Решение 2 (прога):
f = open(’3.txt’) n = int(f.readline()) x = [int(s) for s in f.readline().split()] y = x.copy() ans = 1 cur, cur_p = 1, 1 for i in range(1, n): last, last_p = cur, cur_p cur, cur_p = 1, 1 y = x.copy() x = [int(s) for s in f.readline().split()] if x[0] == y[1] or x[0] == 0 or y[1] == 0: cur = max(cur, last + 1) if x[0] == y[0] or x[0] == 0 or y[0] == 0: cur = max(cur, last_p + 1) if x[1] == y[1] or x[1] == 0 or y[1] == 0: cur_p = max(cur_p, last + 1) if x[1] == y[0] or x[1] == 0 or y[0] == 0: cur_p = max(cur_p, last_p + 1) ans = max(ans, cur, cur_p) f.close() print(ans)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!