Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
[Вернуться к задаче]   1
  1  Хакимов Мухаммадазиз, 27 января 2026 г. 7:29:53
     import sys def solve(): data = sys.stdin.read().split() if not data: return R, C = map(int, data) # Если количество клеток нечетно, цикл невозможен if (R * C) % 2 != 0: print(0) return # Делаем так, чтобы C было меньшей стороной для оптимизации профиля if R < C: R, C = C, R # Состояние: кортеж (скобочная последовательность) # 0 - нет линии, 1 - левая скобка '(', 2 - правая скобка ')' dp = {(0,) * (C + 1): 1} for r in range(R): for c in range(C): new_dp = {} for state, count in dp.items(): left = state[c] # Линия слева up = state[c + 1] # Линия сверху # Варианты построения в зависимости от наличия входящих линий if left == 0 and up == 0: # Создаем новый "уголок" (новую связную пару) new_state = list(state) new_state[c], new_state[
  2  Яндулов Богдан, 16 июля 2021 г. 8:34:31
     OeIs
  3  Дмитрий Федоряка, 14 января 2018 г. 18:09:39
     Решить эту задачу поможет статья "Counting hamiltonian cycles in bipartite graphs", H. Haanp&#228;&#228;, P. &#214;sterg&#229;rd.
  4  Тер-Саркисов Богдан Олегович, 10 октября 2017 г. 10:31:45
     Или можно использовать гамильтонов цикл
  5  Гайнуллин Ильдар Ленарович, 28 августа 2016 г. 20:35:00
     Это - гораздо сложнее чем симпатичные узоры, почему сложность меньше?
     Сложность увеличена.
 1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru