Comments 9
задача о максимальном паросочетании
Настолько известная, что я впервые о ней услышал. Какой-то сложный способ объяснить можно ли замостить шахматную поверхность доминошками. Понятно, что есть условная задача замощения максимальным доступным количеством этих домино, только не дано критерия для замощения случаев когда необходимый инвариант не соблюден.
Если попытаться класть домино на шахматную поверхность, то можно увидеть, что она будет затрагивать ровно одну белую и ровно одну черную клетку, что является инвариантом для полного замощения. Соотвественно, чтобы узнать можно ли замостить полностью произвольную форму шахматной поверхности достаточно посчитать равняется ли количество черных клеток количеству белых. Популярная конфигурация на КДПВ с вырезаными углами удаляет две белых клетки на белой диагонали, поэтому замостить домино полностью нельзя. Вторая конфигурация не замощается полностью по тому же принципу.
Да, я похоже разучился считать. Я в первый раз насчитал 17 черных. Посыпаю голову пеплом
Сделайте, пожалуйста, статью про замощение трёхмерной поверхности треугольниками. Нашел две книги но они очень толстые
Заинтересовала не столько задача и ее решение, сколько matplotlib. не щупал его еще. вроде бы все просто и красиво, но не могу понять ваш код:
def draw_filling(filling):
if filling is not None:
n = len(filling)
m = len(filling[0])
fig = plt.figure(figsize=(m * 0.75, n * 0.75))
....
plt.close(fig)
return fig
else:
return None
зачем возвращать закрытый объект fig? разве с ним потом что-то можно сделать?
Замощение доминошками