Diese Herausforderung ist von dieser App inspiriert . Die Testfälle werden von dieser App ausgeliehen.
Dies ist eine Herausforderung mit dem schnellsten Code , bei der es darum geht, die größten Testfälle in kürzester Zeit zu lösen. Es werden einige kleinere Testfälle bereitgestellt, damit die Benutzer ihre Algorithmen möglicherweise schneller testen können.
Sie erhalten ein quadratisches Eingabegitter mit den Abmessungen n x n, wobei 9 <= n <= 12 ist . Dieses Raster wird in n Bereiche unterteilt, in denen die Zellen der einzelnen Bereiche eindeutige Bezeichner aufweisen (ich verwende im Text hier Kleinbuchstaben von al , aber Sie können wählen, was Sie möchten, z. B. Ganzzahlen von 1 bis 12 ). .
Die Eingabe kann folgendermaßen aussehen (optionales Eingabeformat):
aabbbbbcc
adddbbbcc
adeeecccc
adddefgcc
hhhdifggg
hdddifffg
hhhiifffg
hihiifffg
iiiiiiggg
Oder einfacher zu visualisieren:
Herausforderung:
Sie müssen 2 * n Bäume in diesem Park nach folgenden Regeln platzieren:
- Es müssen genau 2 Bäume pro Spalte und 2 Bäume pro Zeile vorhanden sein
- Alle Gebiete müssen genau 2 Bäume haben.
- Kein Baum darf neben einem anderen Baum stehen, weder vertikal noch horizontal noch diagonal
Die Lösung für das obige Layout lautet:
Hinweis: Für jedes Rätsel gibt es nur eine Lösung
Zusätzliche Regeln:
- Die Eingabe- und Ausgabeformate sind optional
- Die Ausgabe kann beispielsweise eine Liste von Indizes sein, ein Raster mit 1/0, das angibt, ob sich an dieser Position ein Baum befindet, oder eine modifizierte Version der Eingabe, in der die Bäume angezeigt werden
- Die Ausführungszeit muss deterministisch sein
- Das Programm muss innerhalb von 1 Minute auf dem Computer von @ isaacg beendet sein
- Technische Daten: 4 CPUs, i5-4300U CPU bei 1,9 GHz, 7,5 G RAM.
- Falls Ihr Programm den zweitgrößten Testfall nicht in jeweils einer Minute lösen kann, ist die Zeit für den zweitgrößten ( n = 11 ) Ihre Punktzahl. Sie verlieren gegen eine Lösung, die den größten Fall löst.
Testfälle:
Ich könnte diese Liste bearbeiten, wenn die Einsendungen an diese Testfälle angepasst zu sein scheinen.
12-mal-12 :
--- Input ---
aaaaabccccdd
aaaaabccccdd
aaaaabbbbddd
eeeafffgbghh
eeaafffgbghh
eefffffggghh
eeefijffghhh
iieiijjjjkhh
iiiiijjjjkhk
lljjjjjjjkkk
llllllkkkkkk
llllllkkkkkk
--- Solution ---
aaaaabcccCdD
aaaaaBcCccdd
aAaaabbbbdDd
eeeaffFgBghh
eeAaFffgbghh
eefffffGgGhh
EeefijffghhH
iiEiIjjjjkhh
IiiiijjjjkHk
lljJjJjjjkkk
lLllllkkKkkk
lllLllKkkkkk
11-mal-11 :
--- Input ---
aaaaaaabbcc
adddabbbbcc
edddbbbbbbc
eddddbbbbbb
effffggghhh
effffgghhii
eefffjjhhii
eeeejjjhhii
eeejjjjkiii
jjjjjjkkiii
jjjjjkkkiii
--- Solution ---
aaAaaaabbCc
adddAbBbbcc
eDddbbbbbbC
eddDdBbbbbb
effffggGhHh
eFfffGghhii
eefFfjjhHii
EeeejjjhhiI
eeEjjjjKiii
JjjjJjkkiii
jjjjjkKkIii
10-mal-10
--- Input ---
aaaaabccdd
aeaabbbccd
aeaabfbgcd
eeeaafggcd
eeeaafghcd
eeeiifghcd
ieiiigghcd
iiijighhcd
jjjjighhcd
jjjggghhdd
--- Solution ---
aaAaabccdD
aeaaBbBccd
aEaabfbgcD
eeeaaFgGcd
eEeAafghcd
eeeiiFghCd
IeiIigghcd
iiijigHhCd
JjJjighhcd
jjjgGghHdd
9-mal-9
--- Input ---
aabbbbbcc
adddbbbcc
adeeecccc
adddefgcc
hhhdifggg
hdddifffg
hhhiifffg
hihiifffg
iiiiiiggg
--- Solution ---
aAbBbbbcc
adddbbBcC
adEeEcccc
AdddefgCc
hhhDiFggg
hDddifffG
hhhiIfFfg
HiHiifffg
iiiiiIgGg
--- Input ---
aaabbbccc
aaaabbccc
aaaddbcce
ffddddcce
ffffddeee
fgffdheee
fggfhhhee
iggggheee
iiigggggg
--- Solution ---
aaAbBbccc
AaaabbcCc
aaaDdBcce
fFddddcCe
fffFdDeee
fGffdheeE
fggfHhHee
IggggheeE
iiIgggGgg
There shall be exactly 2 trees per column, and 2 trees per row
.