2011-01-24 17 views
11

Suponer alguna figura en el papel cuadriculado. Los lados de la figura van directamente sobre las líneas de papel cuadrado. La figura puede tener cualquier forma (ni siquiera convexa). Cómo encontrar el número máximo de dominós (1x2 rectangular) que se pueden colocar en esa figura. No está permitido poner dominó sobre otro. Está permitido poner dominó solo de esa manera, cuando sus lados caen exactamente en las líneas de papel cuadrado.número máximo de fichas de dominó se puede colocar dentro de una figura

+1

lo has intentado averiguar a sí mismo? ¿Cuál es exactamente tu problema aquí? puedes dar algunos ejemplos? es esta tarea? – oezi

+0

no es una tarea, recibí este problema de mi amigo, traté de resolverlo con lápiz y papel y no pude. Ahora no sé ninguna solución excepto la fuerza bruta. Intenté varias euristics, pero siempre hay un ejemplo cuando mi solución no es la mejor. –

+0

@Sega: necesita expresar la pregunta de manera más precisa o probablemente se cerrará. ¿Cómo se define el límite, por ejemplo? –

Respuesta

14

Se parece al maximum cardinality matching problem in a bipartite graph. Los cuadrados son los vértices y los dominós son los bordes que pertenecen al emparejamiento.

Para ver que el gráfico es bipartito, imagine que los cuadrados están pintados con tablero de ajedrez. Los negros solo ven a los blancos y viceversa.

+3

+1 Hermoso. Me estoy pateando a mí mismo por no ver esto. :-) – templatetypedef

+0

wow, hermoso! parece ser correcto! –

+0

¿Se puede generalizar esta solución? ¿Qué sucede si los domiNos son 3x1 o 4x2, por ejemplo? – templatetypedef

0

Se puede clasificar cuadrados por el número de plazas libres vecino como tipo 0, 1, 2, 3 o 4.

creo que debería funcionar:

  1. encontrar una plaza de tipo 1, colocar allí un dominó de la única manera posible y repetir

  2. otra cosa, encontrar un rincón libre formado por dos contiguas tipo 2 y tipo 3 plazas, lugar allí un dominó y vaya a 1

  3. otra cosa, colocar un dominó en cualquier casilla de tipo 2 y vaya al 1

  4. haya terminado

+0

Sí, esto es básicamente lo que hace el algoritmo de coincidencia máxima más simple. –

Cuestiones relacionadas