Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 04.12.2024
Сообщений: 10

Домино. Определить, можно ли замостить поле доминошками 2 x 1

05.12.2024, 18:39. Показов 938. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача - Домино

Дано прямоугольное поле, состоящее из свободных клеток и занятых. Определить, можно ли
замостить поле доминошками 2 x 1 таким образом, чтобы каждая пустая клетка была покрыта
ровно одной доминошкой, каждая занятая была не покрыта, и никакая доминашка не выходила за пределы поля.

Формат входного файла
Два числа R и C (1 <= R, С <= 100) - размеры поля. Далее R строк по C символов в каждой - описание клеток.
Каждая клетка может быть либо "." (свободной), либо "#" (занятой).

Формат выходного файла

Вывести "Yes", если замощение возможно, иначе - "No"

Пример
stdin
3 3
...
.#.
...

stdout
Yes

Неправильный ответ на тесте 12

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
def can_tile_dominoes(R, C, grid):
    # Направления для перемещения (вправо, вниз)
    directions = [(0, 1), (1, 0)]
    
    # Проверка на нечетное количество свободных клеток
    free_cells = sum(row.count('.') for row in grid)
    if free_cells % 2 != 0:
        return "No"
    
    # Список для хранения паросочетания
    match = {}
    visited = set()
    
    def dfs(x, y):
        for dx, dy in directions:
            nx, ny = x + dx, y + dy
            if 0 <= nx < R and 0 <= ny < C and grid[nx][ny] == '.' and (nx, ny) not in visited:
                visited.add((nx, ny))
                if (nx, ny) not in match or dfs(*match[(nx, ny)]):
                    match[(nx, ny)] = (x, y)
                    match[(x, y)] = (nx, ny)
                    return True
        return False
    
    # Проходим по всем клеткам
    for i in range(R):
        for j in range(C):
            if grid[i][j] == '.' and (i, j) not in match:
                visited.clear()  # Сбрасываем посещенные клетки для каждой новой попытки
                if not dfs(i, j):
                    return "No"
    
    return "Yes"
 
 
R, C = map(int, input().split())
grid = [input().strip() for _ in range(R)]
 
 
print(can_tile_dominoes(R, C, grid))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.12.2024, 18:39
Ответы с готовыми решениями:

Домино. Определить, можно ли замостить поле доминошками 2 x 1
Задача - Домино Дано прямоугольное поле, состоящее из свободных клеток и занятых. Определить, можно ли замостить поле доминошками 2...

Подсчитать количество способов замостить шахматную доску доминошками
На шахматной доске,размером N*N клеток(2&lt;=N&lt;=8),подсчитать кол-во способов,которыми можно замостить данную доску стандартными...

Определить, можно ли замостить бесконечную плоскость правильными многоугольниками без пробелов и перекрытий
Сама задача: Ваша задача – определить, можно ли замостить бесконечную плоскость правильными многоугольниками без пробелов и перекрытий....

6
964 / 485 / 241
Регистрация: 02.06.2016
Сообщений: 760
06.12.2024, 00:59
Цитата Сообщение от slesar10_ Посмотреть сообщение
Неправильный ответ на тесте 12
Code
1
2
3
2 3
...
.##
0
0 / 0 / 0
Регистрация: 04.12.2024
Сообщений: 10
08.12.2024, 13:37  [ТС]
что это?
0
231 / 172 / 71
Регистрация: 14.06.2024
Сообщений: 467
08.12.2024, 14:53
Цитата Сообщение от slesar10_ Посмотреть сообщение
Неправильный ответ на тесте 12
откуда известно, ссылка?
0
0 / 0 / 0
Регистрация: 04.12.2024
Сообщений: 10
08.12.2024, 15:42  [ТС]
Codeforces, локальная ссылка
0
231 / 172 / 71
Регистрация: 14.06.2024
Сообщений: 467
08.12.2024, 16:01
тогда
Цитата Сообщение от slesar10_ Посмотреть сообщение
Неправильный ответ на тесте 12
несомненно поможет
0
0 / 0 / 0
Регистрация: 04.12.2024
Сообщений: 10
09.12.2024, 15:40  [ТС]
У меня нет доступа к содержимому данного теста. Есть только информация о вердикте: Неправильный ответ на тесте 12. Видимо, авторы подумали, что нужно самим "додумывать"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.12.2024, 15:40
Помогаю со студенческими работами здесь

Определить, можно ли считать последовательность чисел рядом костей домино
Помогите составить программу в TurboPascal: Последовательность получена из n целых чисел из интервала от 0 до 66. Определить, можно ли...

Определить, можно ли считать эту последовательность чисел рядом костей домино
Последовательность получена из n целых чисел из интервала от 0 до 66. Определить, можно ли считать эту последовательность чисел рядом...

Определить, можно ли приставить эти кости одна к другой в соответствии с правилами домино
Смоделировать выбор &quot;наугад&quot; двух костей домино из полного набора костей этой игры (0–0, 0–1, ..., 6–6) и определить, можно ли приставить...

Выбрать случайным образом две кости домино и определить, можно ли их приставить друг к другу
Доброе время суток, помогите пожалуйста написать программу, за ранее большое спасибо. Смоделировать выбор «наугад» двух костей домино...

Определить количество плиток, чтобы замостить пол
Для того, чтобы замостить пол прямоугольной комнаты размерами AxB мастера решили приобрести квадратные плитки со стороной C. В магазине...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru