Das Würfelspiel Mia führt eine sehr nicht triviale Reihenfolge von Sätzen der Größe zwei ein:
{3,1} < {3,2} < {4,1} < {4,2} < {4,3} < {5,1} < {5,4} < {6,1} < {6,5} < {1,1} < {2,2} < {6,6} < {1,2}
Im Allgemeinen spielt die Reihenfolge innerhalb eines Tupels keine Rolle {x,y}={y,x},
{1,2}ist größer als alles andere, Paare sind größer als Nichtpaare und der numerische Wert entscheidet im Falle eines Gleichstands.
Angenommen, Sie möchten nWürfel verwenden. Auch die Würfel haben mGesichter.
Beispiel:
{1,5,3,4} < {1,2,6,3}seit 5431 <6321{1,2,3,5} < {1,1,5,6} < {1,1,5,5}, {1,1,6,6} < {1,1,1,3} < {2,2,2,3} < {1,1,1,1} < {1,2,3,4}{2,2,5} < {1,1,6}da beide Sätze jeweils ein Paar und 611> 522 haben
Kurz gesagt, {1, ..., n}ist größer als alles andere. Sei p > q, dann ist p-of-a-kind größer als q-of-a-kind. Bei einem Unentschieden gewinnt das zweite (, dritte, ...) - längste Unikat. Wenn noch keine Entscheidung getroffen werden konnte, gewinnt der größte Zahlenwert. Der numerische Wert einer Menge ist die größte Ganzzahl, die Sie mithilfe der Verkettung aus den verfügbaren Zahlen in der Menge erstellen können. Beispiel:
{2,5,4,3}wird 5432{4,11,3,4}wird zu B443 (> 6-seitige Würfel sind erlaubt, B = 11)
Ihre Aufgabe ist es, das kleinstmögliche Programm (dh die kleinste Funktion) in der Sprache Ihrer Wahl zu schreiben, das bei zwei Containern (Liste, Array, Set, ...) zurückgibt, ob der erste oder der zweite gewinnt.
Hinweis: Sie können davon ausgehen, dass die beiden Container dieselbe Länge haben und nur positive Ganzzahlen enthalten, sonst nichts. Insbesondere können sie nicht sortiert werden. Der Rückgabewert kann ein beliebiger Wert sein, z. B. {-1, 0, 1} für {erste Siege, Unentschieden, zweite Siege}.
{1,1,6},{2,2,5}? Vergleichen Sie den numerischen Wert des größten p-of-a-kind oder eines Würfels?