lukas
7 Lösung / Solution
12
1
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
7 Lösung / Solution
Ich habe auch zuerst die Antwort 1 ausgeschlossen (weil dann auch Antwort 2 richtig wäre, also Meta- Ebene). Das Problem ist, dass mindestens eine Wasserpistole dabei sein muss (keine der m und n Werte ist durch 5 teilbar). Da man die Teile nicht drehen darf habe ich Probleme mit der unteren linken Ecke eines fiktiven Rechtecks bekommen. Diese Ecke konnte ich nur mithilfe einiger "Zuckerstangen" bilden. Diese Vorgangsweise verschiebt das Problem aber nur um 5 nach oben. Ich bin mir also ziemlich sicher, dass Antwort 10 die richtige Antwort ist.  Cool
(Vor 7 Stunden)st1974 schrieb: Ich bin auf Antwort 10 gekommen - keine der angegebenen Rechtecke lässt sich auslegen.
Die Schlüsselidee dahinter ist folgende: Man färbe das Geschenkpapier in 5 verschiedenen Farben, z. B. rot, gelb, grün, blau, lila.

Immer in dieser Reihenfolge in jeder Zeile. In der darunter liegenden Zeile wird das Muster um ein Feld nach rechts verschoben. Mit dieser Färbung überdecken die 4 Teile a 5 Quadraten jede Farbe genau einmal. Während das 8-Quadrate-Teil eine Farbe einmal, eine Farbe dreimal, zwei Farben zweimal und die verbleibende Farbe gar nicht enthält. Je nach Position kann ich dies in vektorieller Form als (1,3,2,2,0), (3,2,2,0,1), (2,2,0,1,3), (2,0,1,3,2) oder (0,1,3,2,2) schreiben.

Ich hatte Buchstaben statt Farben, das war in der Tabellenkalkulation einfacher (die Teile hatten schon Farben). Aber ansonsten natürlich gleich.

Ich habe den "Überschuss" an Buchstaben aber nicht mit einem Programm untersucht, sondern das LGS aufgestellt - es gibt keine ganzzahligen Lösungen. Zumindest bei den Rechtecken, die ich untersucht hatte, bevor ich die Lust verlor und einfach die 10 auswählte.
Code:
# Färbe den Papierbogen mit 5 Farben, wobei gleich Farben diagonal
# von links oben nach rechts unten verlaufen.

# Die Teile 1,2,3 und 5 lassen sich so färben, dass jede von 5 Farben
# genau einmal vorkommt.

# Lediglich Teil 4 besitzt keine solche Färbung.
# die Farbverteilung des problematischen Achterteils:
# die Farben können rotiert werden
TEIL = (1,3,2,2,0)

def sh(t,shift):
    return t[shift:]+t[:shift]

def simplify(t):
    m = min(t)
    t1 = tuple([i-m for i in t])
    return max([sh(t1,shift) for shift in range(5)])

def hinzu(t,shift):
    teil = sh(TEIL,shift)
    return simplify(tuple([i+j for i,j in zip(t,teil)]))

t = (0,0,0,0,0)
erreichbar = set()
erreichbar.add(t)
L = [t]

while len(L):
    t = L.pop(0)
    for shift in range(5):
        t1 = hinzu(t,shift)
        if t1[0]<10 and t1 not in erreichbar:
            erreichbar.add(t1)
            L.append(t1)
            if t1[0]<5:  print(t1)
           
# benötigte Muster, um ein Rechteck zu füllen:
# (0,0,0,0,0)
# (1,0,0,0,0) (1,1,0,0,0) (1,1,1,0,0) (1,1,1,1,0)
# (1,1,0,0,0) (2,1,0,0,1) (2,2,1,0,1) (1,1,1,0,0)
# (1,1,1,0,0) (2,2,1,0,1) (2,1,0,0,1) (1,1,0,0,0)
# (1,1,1,1,0) (1,1,1,0,0) (1,1,0,0,0) (1,0,0,0,0)

Anbei noch der versprochene Python-Code


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
daExile, rs3095, 1 Gast/Gäste