Ich habe ein Kombinatorik-Problem , das ich auf den OEIS anwenden möchte - das Problem ist, dass ich nicht genug Begriffe habe. Diese Code-Abfrage soll mir helfen, mehr Begriffe zu berechnen. Der Gewinner ist der Benutzer mit dem Beitrag, der die meisten Begriffe enthält.
Das Problem
Angenommen, ich gebe Ihnen eine dreieckige Anordnung von Glühbirnen mit der Seitenlänge :
o
o o
o o o
o o o o
o o o o o
o o o o o o
1 2 ... n
Ich werde drei Glühbirnen einschalten, die wie im folgenden Beispiel ein "aufrechtes" gleichseitiges Dreieck bilden:
o
o x
o o o
o o o o
o x o o x
o o o o o o
Bevor ich das Licht einschalte, müssen Sie so viele Glühbirnen wie möglich aus dem Array entfernen, ohne die Fähigkeit zu verlieren, das eingeschaltete Dreieck der Glühbirnen abzuleiten. Um klar zu sein, wenn eine Glühbirne entfernt wurde, leuchtet sie nicht, wenn ihre Position eingeschaltet ist.
Wenn Sie zum Beispiel die folgenden (mit gekennzeichneten .
) Lampen entfernen, werden nur die folgenden zwei Leuchten eingeschaltet (mit gekennzeichnet x
), was ausreicht, um die dritte (nicht beleuchtete) Position eindeutig zu bestimmen:
. .
. o . x
. . o . . o
o o o . => o o o .
o o o o . o x o o . <- the third unlit position
o . . . o o o . . . o o
Es a(n)
sei die maximale Anzahl von Lampen, die entfernt werden können, ohne dass Unklarheiten auftreten.
Beispiel
Mit einem naiven Algorithmus habe ich Werte bis zu einem Dreieck mit der Seitenlänge 7 überprüft, wie unten gezeigt:
.
. . o
. . o o . o
. . . . . o . o o .
. . . . o o o o o . o o . o .
. . . . o o o o . o o o o o . o . o . o o
. . . o o . o o o o . . o o o . . . o o o . o . o o o
a(2) = 3 a(3) = 4 a(4) = 5 a(5) = 7 a(6) = 9 a(7) = 11
Wertung
Die Übermittlung, die die Sequenz [a(2), a(3), ..., a(n)]
für die größten n berechnet, gewinnt. Wenn zwei Einreichungen identische Sequenzen aufweisen, gewinnt die zuvor veröffentlichte.
Obwohl dies für die Einreichung nicht erforderlich ist, wäre es für mich aufschlussreich, wenn Sie eine Konstruktion der resultierenden Triangluar-Arrays wie im obigen Beispiel posten.